Cómo configurar copias de seguridad periódicas incrementales con Rsync activado Ubuntu 20.04 – Guía paso a paso
Antes miramos instalando Rsync en Ubuntu 20.04 y creación de una copia de seguridad única. Para completar la configuración desde la guía actual, siga los pasos del primer artículo.
Para muchas tareas, basta con agregar la ejecución de dicha copia de seguridad a cron, pero estas herramientas le permiten realizar y almacenar múltiples copias de archivos y tener un historial de cambios durante un período de tiempo determinado. En este tutorial, veremos cómo configurar una copia de seguridad periódica incremental usando Rsync en Ubuntu 20.04.
Lógica de respaldo
Al realizar una copia de seguridad por primera vez, todos los archivos de destino se colocan en el ser completados carpeta. En lanzamientos posteriores, el script actualiza todos los archivos en esta carpeta y coloca las versiones anteriores de los archivos modificados en el incremento carpeta con la fecha correspondiente. Así, se mantiene constantemente una copia de seguridad completa actualizada, así como una lista de archivos modificados para cada fecha. Se configura el periodo de retención, así como la frecuencia de lanzamiento de la tarea.
Realizamos la configuración básica para la interacción de servidores usando Rsync en el primera parte del manual. Ahora vamos a crear un script para copias de seguridad incrementales periódicas.
Creación de un script de copia de seguridad
Cree carpetas para almacenar sus copias de seguridad:
sudo mkdir -p /opt/destination/full
sudo mkdir -p /opt/destination/increment
Al crear un archivo de secuencia de comandos, puede seleccionar una carpeta de ubicación. Si lo pones en el /etc/cron.por hora carpeta, la sincronización ocurrirá cada hora, y si en el /etc/cron.daily, luego diariamente, etc. Vamos a crear un archivo de script:
sudo nano /etc/cron.hourly/backup
Evite los puntos en el nombre del archivo de script en las carpetas del programador cron. Más información sobre Crono.
En el siguiente script, debe especificar al menos la dirección IP correcta del servidor de origen. El resto de los valores se pueden dejar como están. Pegue las siguientes líneas en el archivo abierto:
#!/bin/bash
# Path to folder for backups
dest=/opt/destination
# Source server IP address
ip=10.5.5.10
# Rsync user on source server
user=backup-user
# The resource we configured in the /etc/rsyncd.conf file on the source server
src=data
# Set the retention period for incremental backups in days
retention=30
# Start the backup process
rsync -a --delete --password-file=/etc/rsyncd.passwd ${user}@${ip}::${src} ${dest}/full/ --backup --backup-dir=${dest}/increment/`date +%Y-%m-%d`/
# Clean up incremental archives older than the specified retention period
find ${dest}/increment/ -mindepth 1 -maxdepth 2 -type d -mtime +${retention} -exec rm -rf {} \;
Guarde el archivo de script y agregue los derechos de lanzamiento:
sudo chmod 0744 /etc/cron.hourly/backup
Conclusión
En este tutorial, aprendió a configurar copias de seguridad periódicas incrementales en Ubuntu 20.04 con Rsync y automatización del proceso con tareas cron. Al mantener una carpeta de respaldo completa y guardar de forma incremental los archivos modificados o eliminados con marcas de tiempo, este enfoque garantiza que siempre tenga una copia de seguridad actualizada, así como versiones históricas para la recuperación. La configuración del período de retención le ayuda a administrar el espacio en disco eliminando automáticamente las copias de seguridad antiguas. Esta solución es confiable, eficiente e ideal para tareas rutinarias de respaldo del servidor, ya que proporciona protección de datos e historial de versiones sin intervención manual.
Preguntas Frecuentes
- P: ¿Cuál es la ventaja de utilizar copias de seguridad incrementales con Rsync?
R: Las copias de seguridad incrementales guardan solo los archivos modificados o eliminados después de la copia de seguridad completa inicial, lo que reduce el espacio de almacenamiento y el tiempo de copia de seguridad y, al mismo tiempo, mantiene un historial de cambios. - P: ¿Con qué frecuencia debo ejecutar el script de copia de seguridad?
R: Depende de la frecuencia de cambio de datos y de las necesidades de respaldo. Puede programar el script por hora, día o semana colocándolo en la carpeta cron correspondiente (/etc/cron.hourly, /etc/cron.daily, etc.). - P: ¿Puedo cambiar el período de retención de copias de seguridad antiguas?
R: Sí, simplemente modifique la variable de retención en el script al número deseado de días durante los cuales desea conservar las copias de seguridad incrementales. - P: ¿Cómo puedo garantizar que el script de copia de seguridad se ejecute correctamente?
A: Asegúrese de que el archivo de script tenga permisos de ejecución (chmod 0744 /etc/cron.hourly/backup) y verifique los registros de cron para verificar la ejecución programada. - P: ¿Es seguro almacenar contraseñas de respaldo en /etc/rsyncd.passwd?
R: Por seguridad, asegúrese de que los permisos del archivo de contraseñas restrinjan el acceso únicamente al usuario root o al usuario de respaldo (chmod 600 /etc/rsyncd.passwd). Considere medidas de seguridad adicionales, como SSH llaves o VPN túneles - P: ¿Puedo realizar una copia de seguridad de varios servidores de origen utilizando este script?
R: Sí, puede modificar el script o crear varios scripts con diferentes direcciones IP y destinos para realizar copias de seguridad de varios servidores. - P: ¿Qué pasa si quiero restaurar archivos desde una copia de seguridad incremental específica?
R: Puede explorar las carpetas fechadas dentro de /opt/destination/increment/ para localizar y restaurar versiones anteriores de archivos manualmente.


