Copias de seguridad incrementales con tar
Note
Para simplificar y universalizar la documentación no se utilizarán las rutas completas, sino las siguientes convenciones:
/home/pablo, como carpeta de trabajo local del ususario pablo. Este valor cambiará según el usuario con el que se esté operando./mnt/raid1/incremental, carpeta en el RAID 1 de OpenMediaVault donde se almacenarán las copias incrementales./mnt/raid1/diferencial, carpeta en el RAID 1 de OpenMediaVault donde se almacenarán las copias diferenciales.
Primera copia
Important
El nombre de la carpeta destino no es “BackupIncremental.”, como se indica en la práctica, sino “incremental”.
Para la creación de la copia completa del primer día de cada mes se utilizará el siguiente comando:
tar -cpvzf "/mnt/raid1/incremental/backupcompleto_`date +%d%m%Y`.tgz" /home/*
Copias incrementales
Para la creación de los siguientes backups incrementales se utilizará el siguiente comando:
# En la variable AYER guardamos el día de ayer.
AYER=`date -d "yesterday" '+%Y-%m-%d'`
tar -cpvzf "/mnt/raid1/incremental/backupincremental`date +%d%m%Y`.tgz" /home/* -N $AYER
Automatización del proceso de copia
Para que el primer día de mes se ejecute el backup incremental añadimos la siguiente entrada en el crontab:
0 3 1 * * "tar -cpvzf "/mnt/raid1/incremental/backupcompleto_`date +%d%m%Y`.tgz" /home/*"
Este comando se ejecutará el primer día del mes a las 3 de la mañana y creará una copia completa del contenido de /home/, guardándolo en /mnt/raid1/incremental, con el nombre backupcompleto_ seguido del día de creación.
Para la copia de seguridad diaria, ejecutaremos un script, el siguiente:
# En la variable AYER guardamos el día de ayer.
AYER=`date -d "yesterday" '+%Y-%m-%d'`
tar -cpvzf "/mnt/raid1/incremental/backupincremental`date +%d%m%Y`.tgz" /home/* -N $AYER
Lo guardaremos como script en /etc/incremental.sh y añadiremos la siguiete línea a crontab, habiendo permitido que root lo ejecute:
0 4 * * * /bin/sh /etc/incremental.sh