rdiff-backup
es un programa para hacer copias de seguridad. Permite hacer una copia espejo de un directorio y guardarlo en otro (al igual que rsync
o el comando cp
).
sudo aptitude install rdiff-backup
sudo rdiff-backup /origen /destino
La copia de seguridad de la ultima versión de nuestros ficheros se encuentran en /destino. Se creara un directorio dentro llamado rdiff-backup-data que contiene las diferencias con las versiones anteriores de los ficheros quedaría así /destino/rdiff-backup-data
sudo rdiff-backup -l /backups
(--list-increment-sizes permite ver el espacio ocupado por cada copia de seguridad)
Por ejemplo, eliminar todas las copias de seguridad con más de 7 días de antigüedad:
sudo rdiff-backup --remove-older-than 7D --force /backups
Por ejemplo para recuperar un fichero /source/mifichero.txt como estaba hace 3 días y guardarlo en /source/antiguo.txt:
sudo rdiff-backup -r 3D /backups/mifichero.txt /source/antiguo.txt
(-r de “restore”; 3D = 3 Days = 3 días. También podemos especificar la hora, minutos, e incluso una fecha precisa. Ver la documentación)
Aquí un ejemplo; Vamos a hacer una copia de seguridad diaria de las carpetas personales (/home
) y guardarlas en /var/rdiff.backups/home
, conservando 30 días de historial de ficheros. Excluiremos los ficheros con más de 50 MB de tamaño.
Como usuario root creamos el fichero /etc/cron.daily/rdiff_backup_home
conteniendo:
#!/bin/bash
test -x /usr/bin/rdiff-backup || exit 0
logger "rdiff_backup_home: Eliminación de antiguos backups (>30 días)"
/usr/bin/rdiff-backup --remove-older-than 30D --force /var/rdiff.backups/home
logger "rdiff_backup_home: Backup del directorio /home (únicamente ficheros <50MB)."
/usr/bin/rdiff-backup --max-file-size 50000000 /home /var/rdiff.backups/home
logger "rdiff_backup_home: Fin del backup."
Convertimos este fichero en ejecutable:
chmod 755 rdiff_backup_home
En adelante, se hará una copia de seguridad diaria de las carpetas en /home
rdiff-backup
permitirá recuperar las antiguas versiones de los ficheros hasta con 30 días de antigüedad.
Para forzar una copia de seguridad, escribimos:
sudo /etc/cron.daily/rdiff_backup_home
Para listar las copias de seguridad efectuadas, escribimos:
sudo rdiff-backup -l /var/rdiff.backups/home
Para restaurar un fichero, ejemplo:
sudo rdiff-backup -r 3D /var/rdiff.backups/home/toto/mifichero.txt /home/toto/antiguo.txt
Para ver si la copia de seguridad se ha desarrollado correctamente vemos en /var/log/syslog
. Escribimos:
grep rdiff /var/log/syslog