Herramientas de usuario

Herramientas del sitio


tutoriales:copia_de_seguridad_con_rdiff-backup

Copia De Seguridad Con Rdiff-backup

Introducción

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).

Instalación

sudo aptitude install rdiff-backup

Hacer una copia de seguridad

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

Listar las copias de seguridad disponibles

sudo rdiff-backup -l /backups

(--list-increment-sizes permite ver el espacio ocupado por cada copia de seguridad)

Eliminar las antiguas copias 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

Restaurar

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)

Ejemplo de automatizació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
tutoriales/copia_de_seguridad_con_rdiff-backup.txt · Última modificación: 2020/04/22 20:57 (editor externo)