Debian configurar instalar respaldos rsnapshot GNU/Linux

Linux rsnapshot es una utilidad instantánea del sistema de archivos para hacer copias de seguridad de los sistemas locales y remotos. El uso de enlaces rsync en ocasiones se complica, podemos mantener varias copias de seguridad completas, disponibles al instante. El espacio en disco necesario es sólo un poco más que el espacio de una copia de seguridad completa, más incrementales. Dependiendo de su configuración, es muy posible crearla en pocos minutos. Los archivos pueden ser restaurados por los usuarios que los poseen, sin ser necesario el usuario root. No hay cintas para cambiar, así que una vez que está establecido, las copias de seguridad se suceden de forma automática sin acción humana. Rsnapshot sólo mantiene un número fijo (pero configurable) de las instantáneas, en copias normales la cantidad de espacio en disco utilizado crece continuamente. si queremos guardar copias de varias fechas, aparece rápidamente el problema del espacio en disco. Esto puede resolverse realizando copias totales e incrementales, pero entonces la cosa ya se complica. Una forma muy sencilla y potente de realizar copias de seguridad en GNU/Linux es utilizar rsnapshot, utiliza internamente el comando rsync y hace uso de una característica interesante, como son los enlaces duros, para ahorrar espacio en las copias. Básicamente, el programa realiza una primera copia y en posteriores copias, solamente lo hace en los archivos nuevos y modificados, creando enlaces duros a los archivos que ya existían. De esta manera, cada copia nueva realmente es a los archivos nuevos y modificados.

La pagina de rsnapshot es http://www.rsnapshot.org/

# apt-get install rsnapshot

Siguiente paso es realizar la configuración, editando el archivo /etc/rsnapshot.conf. configuramos en el archivo la ruta donde se guardarán las copias de seguridad, mediante la variable de configuración snapshot_root. Además, si tiene pensado hacer las copias en un dispositivo externo o en una ubicación que montas en el sistema de archivo, colocamos la variable no_create_root a 1.

snapshot_root /var/cache/rsnapshot/ # colocamos la ruta de nuestra configuración.
no_create_root 1

Indicamos al programa cuantas copias de seguridad deseamos retener. Cada vez que se lanza el programa se le dice qué tipo de copia está realizando (hourly, daily, weekly y monthly), este utilizara el valor de configuración de retención correspondiente, ademas elimina las copias de ese tipo más antiguas. Así, por ejemplo, un valor de retención de daily de 7, indicaría que la octava vez que se lance una copia daily se eliminen las copias más antiguas, es decir, las del primer día. configuro el resto de valores para que guarde las copias diarias de los últimas 24 horas, 7 días, las 4 últimas semanas y las tres últimas mensuales.

retain hourly 1
retain hourly 6
retain daily 7
retain weekly 4
retain monthly 3

Indicamos donde queremos hacer la copia de seguridad. En este punto las posibilidades son muchas, podemos hacer copias de otros equipos, utilizar scripts específicos por ejemplo para hacer copias de bases de datos. Para ello se utiliza la directiva backup, a la que se le indica la carpeta que queremos respaldar y en qué subcarpeta queremos dejarlo. Tener cuidado con las barras al final de las carpetas de la ruta indicada, tener en cuenta sigue funcionando rsync, con todas sus características.

Localhost

backup /home/ localhost/
backup /etc/ localhost/

Dominios URL’ s

backup root@example.com:/home/ example.com/ +rsync_long_args=–bwlimit=16,exclude=core
backup root@example.com:/etc/ example.com/ exclude=mtab,exclude=core
backup root@example.com:/var/db/dump/ example.com/

Scripts locales remotos

backup_script /bin/date “+ backup of example.com started at %c” unused1
backup_script ssh root@example.com “mysqldump -A > /var/db/dump/mysql.sql” unused2
backup_script /bin/date “+ backup of example.com ended at %c” unused9

Remoto

backup root@172.30.20.10:/home/documentos/ var/cache/rsnapshot/

Bases de datos

backup_script ssh root@172.30.20.10 “mysqldump -A > /var/db/dump/mysql.sql” unused2

El archivo de configuracion es bastante autoexplicativo. Si encuentra problemas puede modificar la verbosidad (verbose) y el nivel de log (loglevel).
Una vez configurado puede comprobar la configuración válida de la siguiente manera.

# rsnapshot configtest
Syntax OK

Si obtiene un Syntax OK es que la configuración es correcta. En caso contrario revisar el archivo siguiendo las indicaciones dé la herramienta. Tener en cuenta los espacios y los tabuladores, al indicar las directivas backup los valores de las columnas están separados por tabuladores, no por espacios. Para una primera copia y verificar, podemos utilizar directamente el comando desde consola indicándole el tipo de copia que queremos hacer. Por ejemplo, para hacer una daily:

# rsnapshot daily

Copias de manera automática utilizamos cron. El programa viene con un archivo de programación de ejemplo. Podemos editarlo y quitar los comentarios y modificar la línea deseada, editamos el archivo /etc/cron.d/rsnapshot, de igual manera podemos crear nuestro propio script para cron, o cargar dentro del archivo de crontab las lineas directamente.

# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
0 */12 * * * /usr/bin/rsnapshot hourly
0 7 * * * /usr/bin/rsnapshot daily
0 16 * * 0 /usr/bin/rsnapshot weekly
0 23 1 * * /usr/bin/rsnapshot monthly

Deja un comentario