Rsnapshot es una herramienta poderosa y eficiente para realizar copias de seguridad en sistemas Linux, ofreciendo soporte tanto para copias locales como remotas sin depender de software adicional. En esta guía aprenderemos cómo instalar, configurar y ejecutar Rsnapshot para realizar copias de seguridad automáticas y restaurar datos, asegurando la protección de los archivos en servidores Linux.
Requisitos previos
Para seguir esta guía, es necesario contar con:
- Un servidor Linux (Debian, Ubuntu, CentOS, etc.)
- Un usuario con privilegios de administrador.
- (Opcional) Un segundo servidor para probar la copia de seguridad remota.
Instalación de Rsnapshot
Rsnapshot se encuentra disponible en la mayoría de distribuciones Linux y se instala mediante el gestor de paquetes. Primero, actualiza el índice de paquetes:
sudo apt update
Luego, instala Rsnapshot:
sudo apt install rsnapshot
Una vez completada la instalación, verifica la ubicación y versión de Rsnapshot:
which rsnapshot
rsnapshot --version
Configuración de autenticación por clave SSH
Para realizar copias de seguridad remotas, Rsnapshot utiliza autenticación SSH. Configura la autenticación por clave SSH para permitir que el servidor de Rsnapshot se conecte al servidor de destino sin contraseña.
- Genera una clave SSH en el servidor de Rsnapshot:
ssh-keygen -t ed25519
- Copia la clave pública al servidor de destino:
ssh-copy-id usuario@IP_del_servidor
Ahora, Rsnapshot podrá conectarse de forma segura al servidor de destino usando SSH.
Configuración de Rsnapshot
La configuración de Rsnapshot se almacena en el archivo /etc/rsnapshot.conf
. Haz una copia de seguridad del archivo original y luego edítalo para adaptarlo a tus necesidades:
sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig
sudo nano /etc/rsnapshot.conf
- Define el directorio de destino para las copias de seguridad:
snapshot_root /data/backup/
- Habilita rsync y SSH para copias remotas:
cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh
- Configura los intervalos de copia de seguridad:
retain daily 6 retain weekly 7 retain monthly 4
- Configura rutas de copia:
- Para copia local:
backup /home/usuario/ local/
- Para copia remota:
backup usuario@IP_del_servidor:/etc/ servidor1/ backup usuario@IP_del_servidor:/var/www servidor1/
- Para copia local:
Guarda y cierra el archivo. Luego, verifica la configuración con el siguiente comando:
rsnapshot configtest
Prueba manual de Rsnapshot
Para probar la copia de seguridad manualmente, ejecuta:
rsnapshot daily
Luego, verifica la creación de la copia:
ls /data/backup/
Configuración de copias automáticas con Cron
Para automatizar las copias, integra Rsnapshot con Cron. Edita el archivo de cron de Rsnapshot:
sudo nano /etc/cron.d/rsnapshot
Añade la configuración para ejecutar copias diarias, semanales y mensuales:
0 0 * * * root rsnapshot daily
0 0 * * 0 root rsnapshot weekly
0 0 1 * * root rsnapshot monthly
Restauración de una copia de seguridad
Para restaurar una copia, simplemente copia los datos desde el directorio de respaldo al destino deseado. Por ejemplo:
cp -a /data/backup/daily.0/ /home/usuario/
Conclusión
Rsnapshot es una solución robusta para realizar copias de seguridad en Linux. Con su fácil integración con SSH y Cron, permite configurar y automatizar copias locales y remotas de manera eficiente.