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.

Replica a blakeyed Cancelar la respuesta

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.