Bash: Haciendo un simple script bash para backup

El otro dia me encontre con el problemita que andaba queriendo bakcupear unas cosillas, pero era algo demasiado simple como para ponerme a configurar un programa de backup. Pero como esto es linux, y en linux, todo se puede hacer, y lo que no es porque se esta por inventar, decidi hacer un script muy sencillo para backup de datos, a ver si les sirve....

OJO: Revisen el script y cambien las rutas correpondientes (origen de datos) sino siempre van a caer en la funcion echo_failure().

-------------- COMIENZO ------------------

#!/bin/bash

# Variable que define la carpeta destino de la informacion
# que se backupea
backup=/home/jago/documentos/personales/backup

# Funciones usadas para colorear y centrar los ok y Error
# Sacada del function de MDK 10
if [ -z "${BOOTUP:-}" ]; then
if [ -f /etc/sysconfig/init ]; then
. /etc/sysconfig/init
else
BOOTUP=color
RES_COL=60
MOVE_TO_COL="echo -en \033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \033[1;32m"
SETCOLOR_FAILURE="echo -en \033[1;31m"
SETCOLOR_WARNING="echo -en \033[1;33m"
SETCOLOR_NORMAL="echo -en \033[0;39m"
LOGLEVEL=1
fi
if [ "$CONSOLETYPE" = "serial" ]; then
BOOTUP=serial
MOVE_TO_COL=
SETCOLOR_SUCCESS=
SETCOLOR_FAILURE=
SETCOLOR_WARNING=
SETCOLOR_NORMAL=
fi
fi


echo_success() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
printf " OK "
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "r"
return 0
}

echo_failure() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
printf "ERROR"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "r"
return 1
}

#Funcion de comprobacion para verificar
#la salida de los comandos
comprobar() {
if [ $? == "0" ] ; then
echo_success
echo ""
else
echo_failure
echo ""
fi
}


# Inicio de tareas

#Respaldando mails
echo "Iniciando backup..."
echo -n "Respaldando mails... "
cp -rf /home/jago/.Mail $backup
#Comprobando la salida del comando cp
#para verificar que la copia esta correcta
comprobar

#Respaldando claves pgp
echo -n "Respaldando claves pgp... "
cp -rf /home/jago/.gnupg $backup
comprobar

#Respaldando amsn
echo -n "Respaldando configuraciones - amsn... "
cp -rf /home/jago/.amsn $backup
comprobar

#Respaldando configuraciones opera
echo -n "Respaldando configuraciones - Opera... "
cp -rf /home/jago/.opera $backup
comprobar

#Respaldando calendario de korganizer
echo -n "Respaldando calendario de korganizer"
cp -f /home/jago/documentos/personales/varios/calendario.ics $backup
comprobar

#Respaldando la libreta de direcciones de kaddressbook
echo -n "Respaldando la libreta de direcciones de kaddressbook"
cp -rf /home/jago/.kde/share/apps/kabc $backup
comprobar

-------------- FIN ------------------


PD: Conste que dije, muuuuuuuy sencillo, nos estarian faltando bastantes cosas, pero para la funcion de hacer copias de backup completas, sirve, que si bien es mas lenta que las polliticas de backup incremental, es mucho mas seguro....

Saludos

Fernando Ferrari
fernandorferrari@yahoo.com.ar

No hay comentarios.:

Publicar un comentario