Usando rsnapshot para realizar copias de seguridad de tus datos en Debian - Ubuntu
Este post va un poco relacionado o sería una segunda parte de lo que estaba comentado aquí sobre las copias de una base de datos PostgreSql. Aquí vamos a hablar de cómo realizar copias de seguridad de los ficheros de tu servidor/equipo a otro destino diferente para tener un respaldo.
Digo que es una extensión del otro post porque vamos a realizar copias de seguridad en un lugar diferente de las copias de seguridad que se realizan en el mismo equipo sobre una base de datos. Parece muy complicado pero lo que vamos a hacer es "copiar" las copias de seguridad que se realizan en el mismo equipo de la base de datos en otro destino diferente (sea una maquina diferente u otro directorio)
Configurar y realizar las copias
Para ello vamos a usar Rsnapshot. Esto es una herramienta que básicamente (como si fuera facil...) realiza las copias de seguridad de los ficheros desde un origen a un destino. En general es sencillo configurarlo pero tiene algunas peculiaridades en relación a la sintaxis de las órdenes que, si te desvías un poco, no te funciona y te vuelves loco!!! Sería:
- Instala rsnapshot en tu equipo. Normalmente ya viene integrado en el propio Core del sistema operativo
- Para aplicar la configuración, accede al fichero de configuración /etc/rsnapshot.conf. A tener en cuenta:
# Destino de las copias (fijo en localhost y temporal cuando el destino es otra máquina) snapshot_root /destino/de/tus/copias
# Si tu destino es una máquina fuera mediante ssh, descomenta esta opción cmd_ssh /usr/bin/ssh
# Retención de copias. Especifíca cuantas copias antiguas deseas mantener. # El nombre que pongas después del retain debe ser el mismo que configures en la automatización retain daily 7 retain weekly 5 retain monthly 2
- Ahora toca definir los directorios a copiar. Se configura el mismo fichero de configuración que en el apartado anterior:
- El formato es siempre el mismo backup path/orgien path/destino
# Si queremos simplemente guardarlo en nuestra máquina backup /var/www/ localhost/ # Si queremos enviarlo a otra máquina backup /var/www/ user@domain|ip:/directorio/destino
- Antes de ejecutar nada, vamos a comprobar que la configuración es correcta (por la sintaxis):
sudo rsnapshot configtest # Deberías ver algo del estilo "Syntax OK"
- Si quieres también hacer una comprobación extra de alguna copia en concreto, usa la opción -t para el test:
# Vamos a probar si las copias daily funciona bien sudo rsnapshot -t daily
- Para realizar la copia de forma manual, quita la opción -t y listo!. Comprueba el log para estar seguro!:
# Realizmos la copia diaria con sudo rsnapshot daily
Automoatización de las copias
Ahora estás más seguro que antes pero no estás muy tranquilo porque tienes que realizar tu a mano las copias. Vamos a mejorar eso automatizándolas!
Por defecto, rsnapshot ya tiene configurado un fichero en el directorio cron.d para la copias automáticas. Como hemos personalizado la configuración, debemos también personalizar este fichero. Se ubica en /etc/cron.d/rsnapshot:
# Simplemente añade la periocidad que quieras según tus tipos de copias.
# El tipo de copia tienen que ser los mismo que has configurado en el retain
00 00 * * * root /usr/bin/rsnapshot -c /etc/rsnapshot.conf daily