Cómo instalar Rsnapshot Linux Backup en Rocky Linux 9
Rsnapshot es una utilidad de copia de seguridad para máquinas basadas en Linux. Está disponible en la mayoría de las distribuciones de Linux, puedes instalarlo fácilmente a través del gestor de paquetes. rsnapshot está escrito en Perl sin dependencias, también admite copias de seguridad locales y remotas.
Con Rsnapshot, puedes hacer una copia de seguridad de tu directorio local. En cuanto a la copia de seguridad remota, rsnapshot utiliza ‘ssh’ y ‘rsync’.
En esta guía, aprenderás a instalar y configurar Rsnapshot en el servidor Rocky Linux 9. También aprenderás cómo hacer una copia de seguridad automática con Rsnapshot y Cron.
Requisitos previos
Antes de empezar, asegúrate de que tienes lo siguiente:
- Un servidor Rocky Linux 9
- Un usuario no root con privilegios de administrador
Instalación de Rsnapshot
Rsnapshot es una utilidad de copia de seguridad para el sistema operativo tipo Unix. En las distribuciones basadas en RedHat, puedes instalar Rsnapshot a través del repositorio EPEL (Extra Packages for Enterprise Linux). Así que para este paso, añadirás el repositorio EPEL a tu sistema, y luego instalarás Rsnapshot.
Primero, ejecuta el siguiente comando para añadir el repositorio EPEL (Extra Packages for Enterprise Linux) a tu servidor Rocky Linux. Introduce‘Y’ para confirmar y añadir el repositorio EPEL.
sudo dnf install epel-release
Una vez añadido EPEL, ejecuta el comando ‘dnf’ que aparece a continuación para instalar el paquete ‘rsnapshot’. Introduce‘Y‘ para confirmar con la instalación.
sudo dnf install rsnapshot nano firewalls
Una vez finalizada la instalación, comprueba la ubicación del archivo binario y la versión de «rsnapshot» con el siguiente comando.
which rsnapshot rsnapshot --version
En el siguiente resultado, puedes ver que«rsnapshot» 1.4.5 está instalado en«/usr/bin/rsnapshot«.
Configurando SSH para Respaldo Remoto
Para hacer copias de seguridad remotas con Rsnapshot a través de SSH, debes configurar la autenticación basada en claves en tus servidores. Asegúrate de que puedes iniciar sesión en el servidor de destino desde tu servidor Rsnapshot a través de una clave SSH. En este paso, generarás una clave SSH en el servidor Rsnapshot y luego subirás la clave pública al servidor de copia de seguridad de destino.
En tu servidor Linux Rocky, ejecuta el siguiente comando‘ssh-keygen‘ para generar nuevas claves SSH.
ssh-keygen -t ed25519
- Pulsa ENTER para guardar la clave en la ubicación por defecto en el directorio‘~/.ssh
- Pulsa INTRO dos veces cuando se te pida la frase de contraseña
Ahora ejecuta el comando‘ssh-copy-id‘ que aparece a continuación para cargar tu clave SSH en la máquina de destino. En este ejemplo, haremos una copia de seguridad de algunos datos del servidor‘192.168.10.50‘ a nuestro servidor Rocky Linux con‘rsnapshot‘.
ssh-copy-id [email protected]
Introduce tu contraseña cuando se te pida. Una vez cargado, puedes iniciar sesión en el servidor de destino sin contraseña y estar listo para configurar Rsnapshot.
Configurar Rsnapshot para copias de seguridad locales y remotas
Ahora que has configurado la autenticación basada en clave SSH, puedes configurar Rsnapshot. En este ejemplo, configurarás el directorio de copia de seguridad, las retenciones de copia de seguridad, los archivos locales de copia de seguridad y luego crearás una copia de seguridad remota a través de SSH.
Haz una copia de seguridad de la configuración por defecto ‘/etc/rsnapshot.conf’ y modifícala usando el editor ‘nano’.
sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig sudo nano /etc/rsnapshot.conf
Añade la ruta de destino de tu copia de seguridad a la opción‘snapshot_root‘. En este ejemplo, todas las copias de seguridad se almacenarán en el directorio‘/data/backup‘.
snapshot_root /data/backup/
Descomenta las opciones«cmd_rsync«,«cmd_ssh«,«cmd_du» y«cmd_rsnapshot_diff«. Asegúrate de que la ruta de cada comando es correcta.
cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_du /usr/bin/du cmd_rsnapshot_diff /usr/bin/rsnapshot_diff
Cambia la configuración por defecto de ‘retener’ por la siguiente. El nombre es opcional, puedes cambiarlo según necesites. En este ejemplo,«retener diariamente 6» creará nuevos directorios de copia de seguridad de«diariamente.0» a«diariamente.5«.
retain daily 6 retain weekly 7 retain monthly 4
Descomenta la opción‘logfile‘ para activar el registro para Rsnapshot.
logfile /var/log/rsnapshot.log
Descomenta‘ssh_args‘ para pasar un comando SSH adicional. Especialmente si estás ejecutando SSH en un puerto no estándar.
ssh_args -p 22
Ahora cambia la configuración de‘copia de seguridad‘ así para hacer una copia de seguridad del directorio local ‘/home/arvdl’.
backup /home/arvdl/ local
Para hacer una copia de seguridad remota a través de SSH, utiliza una configuración como la siguiente. En este ejemplo, haremos una copia de seguridad de los directorios‘/etc‘ y‘/var/www‘ desde el servidor‘192.168.10.50’ al servidor Rsnapshot. Además, asegúrate de utilizar el usuario SSH correcto con autenticación basada en clave SSH.
backup [email protected]:/etc/ rocky9 backup [email protected]:/var/www rocky9
Cuando hayas terminado, guarda el archivo y sal del editor.
Por último, ejecuta el siguiente comando ‘rsnapshot’ para verificar tu configuración. Si la configuración es correcta, verás la salida‘Sintaxis correcta‘.
rsnapshot configtest
Probar la copia de seguridad con Rsnapshot
En este punto, has configurado Rsnapshot y creado una copia de seguridad para los servidores local y remoto. Ahora harás una copia de seguridad con Rsnapshot manualmente a través de la línea de comandos ‘rsnapshot’. También comprobarás el tamaño de la copia de seguridad y revisarás el archivo de registro de Rsnapshot.
Para hacer una copia de seguridad manualmente, ejecuta el comando‘rsnapshot‘ seguido del nombre de la retención, por ejemplo,‘diariamente‘. Esto creará una nueva copia de seguridad en el directorio‘snapshot_root‘.
rsnapshot daily
Comprueba el directorio‘snapshoot_root‘ para asegurarte de que se ha creado la copia de seguridad. En este ejemplo, el directorio ‘snapshot_root’ es‘/data/backup‘.
ls /data/backup
Ahora ejecuta el comando‘rsnapshot‘ que aparece a continuación para comprobar el tamaño de tu copia de seguridad. En el siguiente ejemplo, la única copia de seguridad de nuestros archivos es de‘3MB‘.
rsnapshot du
Por último, también puedes consultar el archivo de registro de Rsnapshot ‘/var/log/rsnapshot‘ para obtener información sobre las operaciones de Rsnapshot.
cat /var/log/rsnapshot
Copia de seguridad automática con Rsnapshot y Cronjob
En esta última sección, aprenderás a configurar una copia de seguridad automática con Rsnapshot y Cronjob. De esta forma, el comando‘rsnapshot‘ se ejecutará periódica y automáticamente a través de Cron.
Crea un nuevo archivo de configuración cron‘/etc/cron.d/snapshot‘ con el siguiente editor‘nano‘.
sudo nano /etc/cron.d/rsnapshot
Inserta la configuración que aparece a continuación para configurar un crontab para Rsnapshot. En el siguiente ejemplo, ejecutarás el ‘rsnapshot diario’, el ‘rsnapshot semanal’ y el ‘rsnapshot mensual’.
# Backup on daily 0 0 * * * root rsnapshot daily
# Backup on weekly
0 0 * * 0 root rsnapshot weekly
# backup monthly
0 0 1 * * root rsnapshot monthly
Guarda el archivo y sal del editor cuando hayas terminado.
Conclusión
¡Enhorabuena! Has completado la instalación y configuración de Rsnapshot en el servidor Rocky Linux 9. También has aprendido el comando básico ‘rsnapshot’, cómo configurar múltiples retenciones de Rsnapshot, cómo hacer copias de seguridad remotas con Rsnapshot vía SSH, y también has aprendido cómo configurar copias de seguridad automáticas con Rsnapshot y Cronjob.