Backups incrementales con Tar

Despues de probar una serie de scrips con varias herramientas como rsync,cipo etc.  al final consolide este que funciona bastante bien  :

ARCHIVO : backupfull.sh

#!/bin/sh
DATA=/backup/correo
DEST=$DATA/full.tgz
SOURCE=/home
LOG=/opt/backup/log
TODAY=`date “+%Y-%m-%d %a”`

# Borrar copia existente
/bin/rm -f $DEST

# Crear respaldo local
/bin/tar -chzf $DEST $SOURCE

# Borrar los respaldos incrementales
/bin/rm -f $DATA/i*

#### fin del archivo

ARCHIVO : backupincremental.sh

#!/bin/sh
DATA=/backup/correo
LASTFULL=$DATA/full.tgz
SOURCE=/home
TODAY=`date “+%Y-%m-%d_%a”`
LASTDATE=`stat -c %y $LASTFULL`
DEST=$DATA/i$TODAY.tgz

# Borrar el incremental existente (si existe)
/bin/rm -f $DATA/i*

# Crear incremental
/bin/tar -chz –newer “$LASTDATE” -f $DEST $SOURCE

### fin del archivo

CONFIGURACION DEL CRON

00 22 * * 6 /root/backupfull.sh
00 22 * * * /root/backupincremental.sh

FUNCIONAMIENTO

1.- Archivo backupfull.sh , genera un comprimido de la carpeta /home/  , y lo guarda en /backup/correo, esto se ejecuta los sabados a las 11pm.
2.- Archivo backupincremental.sh , la primera vez genera un comprimido  omitiendo los archivos contenidos en full.tgz , cuando lo hace por segunda vez primero elimina el incremental generado anteriormente y lo vuelve a crear nuevamente, esto se realiza todos los dias a las 11pm.

Escribe un comentario