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

añadir 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

instalar rsnapshot

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

comprobar 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

generar clave

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.

ssh-copy-id subir clave

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

comprobar configuración

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

rsnapshot del

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

comprobar registro

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.

También te podría gustar...