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.

3 respuestas a “Backups incrementales con Tar”

  1. Avatar de Federico
    Federico

    Excelente script, gracias por compartirlo.

    No entiendo en esta linea

    DEST=$DATA/i$TODAY.tgz

    la «i» que funcion cumple.

    Saludos !!!

  2. Avatar de Carlos Joel

    @Federico, supongo que será la i de incremental….

  3. Avatar de blakeyed

    Para backups incrementales con tar tenemos el parámetro -g al que metemos el archivo donde queremos meter la info incremental y no tenemos que estar pendiente de la fecha.

Deja un comentario

Juan Oliva

Consultor en Ciberseguridad con mas de 17 años de experiencia en el campo, muy involucrado en proyectos de Ethical Hacking, análisis y explotación de vulnerabilidades en infraestructura, aplicaciones web, APIs y Móviles, pruebas de ingeniería social y revisión de código.