
Las copias de seguridad son como seguros; No los necesitas todos los días, pero cuando ocurre un desastre, como la eliminación inesperada de archivos, la falla del disco o los ataques de ransomware, es suficiente para romper todo si no estás listo. Este es el surgimiento del plan de respaldo inteligente.
En esta guía, le mostraré cómo programar copias de seguridad incrementales utilizando RSYNC y Cron. Explicaré qué es la copia de seguridad incremental, cómo funciona RSYNC debajo del capó y cómo automatizar todo el proceso usando Cron.
¿Qué es la copia de seguridad incremental?
La copia de seguridad incremental significa que solo tiene una copia de seguridad de archivos que han cambiado desde la última copia de seguridad. Por lo tanto, solo puede guardar archivos nuevos o actualizados en lugar de copiar todo a la vez, puede ser lento y ocupar mucho espacio.
Suponga que tienes 10,000 Archivos en carpetas, hoy solo tienen 20 cambios. Se omitirán copias de seguridad incrementales 9,980 El archivo sin cambios, solo tiene una copia de seguridad de 20 cambios reales, que es eficiente y perfecto para copias de seguridad diarias.
¿Por qué usar RSYNC?
RSYNC es una herramienta potente y confiable para copiar archivos y directorios en Linux. Qué es rsync Especialmente su capacidad para sincronizar solo las diferencias entre la fuente y el destino.
Funciona localmente (de una carpeta a otra) o de forma remota (sobre SSH a otro servidor). También conserva permisos de archivos, marcas de tiempo, enlaces simbólicos e incluso admite archivos eliminados, que son rápidos, flexibles y ya están instalados en la mayoría de las distribuciones de Linux.
si rsync No instalado, puede usar:
sudo apt install rsync # Debian/Ubuntu sudo yum install rsync # CentOS/RHEL
Nuestro plan de respaldo
Supongamos que tiene algunos archivos importantes almacenados a continuación /home/ravi/documents/quieres apoyarlos /backup/documents/. Escribiremos un script de shell simple para usar rsync Copie los archivos cambiados al directorio de copia de seguridad. Entonces usamos cron Ejecute este guión todos los días a las 2:00 a.m.
Paso 1: Escribe un script de copia de seguridad
Primero, creemos un script de shell para realizar la copia de seguridad.
sudo nano /usr/local/bin/rsync-backup.sh
Pega el siguiente script en él:
#!/bin/bash SOURCE="/home/ravi/documents/" DEST="/backup/documents/" LOGFILE="/var/log/rsync-backup.log" DATE=$(date +"%Y-%m-%d %H:%M:%S") rsync -av --delete "$SOURCE" "$DEST" >> "$LOGFILE" 2>&1 echo "Backup completed at $DATE" >> "$LOGFILE"
Este guión dice rsync Sincronice los archivos desde el directorio de origen al destino. este -a Flag le dice que se ejecute en modo de archivo, reteniendo permisos y metadatos.
este -v Hacer la salida demasiado (podemos grabar lo que sucedió) y --delete Si el archivo en la fuente ya no existe, elimine el archivo de la copia de seguridad. Toda la salida se escribe en el archivo de registro /var/log/rsync-backup.log Entonces podemos verificar más adelante si hay algún problema.
Ahora haga que el script sea ejecutable:
sudo chmod +x /usr/local/bin/rsync-backup.sh
Paso 2: Programe el script con cron
A continuación, debemos asegurarnos de que el script de copia de seguridad se ejecute automáticamente a las 2:00 todos los días, por lo que debe editar el trabajo cron y escribir:
crontab -e
Agregue esta línea en la parte inferior:
0 2 * * * /usr/local/bin/rsync-backup.sh
Para confirmar su trabajo cron:
crontab -l
Paso 3: Pruebe la configuración de copia de seguridad
Antes de que el sistema ejecute la copia de seguridad automáticamente, el script debe probarse manualmente para asegurarse de que todo funcione como se esperaba, lo que lo ayudará a obtener problemas de ruta, error de permiso o error tipográfico antes de que Cron lo ejecute en silencio en segundo plano.
Firt, ejecute manualmente el script de copia de seguridad, que activará inmediatamente el proceso de copia de seguridad y verá una lista de archivos para copiar o omitir.
sudo /usr/local/bin/rsync-backup.sh
Una vez que se complete el script, vaya a su directorio de copia de seguridad y verifique que el archivo se copie correctamente:
ls -lh /backup/documents/
Ahora, verifique el archivo de registro para asegurarse de que el script no tenga errores e registre el tiempo de copia de seguridad:
cat /var/log/rsync-backup.log
Debería ver una salida similar a esta:
sending incremental file list ./ file1.txt folder2/ folder2/file2.pdf Backup completed at 2025-06-16 14:00:01
Esto confirma que el script no solo copia el archivo, sino que también registra eventos utilizando marcas de tiempo.
Paso 4: cree una copia de seguridad de la instantánea diaria
Si desea ir más allá y mantener una instantánea diaria de sus datos (en lugar de una carpeta de copia de seguridad), puede usar --link-dest Opciones en RSYNC, que le permiten realizar copias de seguridad vinculadas básicamente crean nuevas carpetas que parecen una copia de seguridad completa, pero solo usan espacio para archivos cambiados.
El primer día, cree la copia de seguridad completa inicial:
rsync -a /home/ravi/documents/ /backup/daily.0/
Al día siguiente, use la carpeta del día anterior como referencia para crear copias de seguridad incrementales:
rsync -a --link-dest=/backup/daily.0/ /home/ravi/documents/ /backup/daily.1/
Los archivos que no han cambiado serán difíciles, guardando espacio. Incluso puede usar un script simple para rotar estas carpetas que cambian el nombre de los scripts antiguos y crear una nueva instantánea todos los días.
Aquí hay un script de giro básico de 7 días:
#!/bin/bash rm -rf /backup/daily.7 mv /backup/daily.6 /backup/daily.7 mv /backup/daily.5 /backup/daily.6 mv /backup/daily.4 /backup/daily.5 mv /backup/daily.3 /backup/daily.4 mv /backup/daily.2 /backup/daily.3 mv /backup/daily.1 /backup/daily.2 mv /backup/daily.0 /backup/daily.1 rsync -a --delete --link-dest=/backup/daily.1 /home/ravi/documents/ /backup/daily.0/
Puede organizar este script usando Cron, al igual que un script de copia de seguridad básico. Por ejemplo, ejecutarlo todos los días a las 2:00 am:
0 2 * * * /usr/local/bin/daily-rsync-rotate.sh
Consejo de recompensa: copia de seguridad al servidor remoto
Si desea hacer una copia de seguridad de sus datos a otra computadora (como un servidor de copia de seguridad), puede usar rsync En SSH, pero asegúrese de que la tecla SSH esté configurada para el inicio de sesión sin contraseña y luego ejecute algo como:
rsync -av -e ssh /home/ravi/documents/ ravi@backup-server:/backup/ravi/
Puede agregar los comandos anteriores al script o solo puede usar para scripts separados para copias de seguridad remotas.
El pensamiento final
Las copias de seguridad pueden no ser emocionantes, pero definitivamente perderán datos. Una vez que haya configurado copias de seguridad incrementales rsync y cronusted sabe que los archivos están protegidos todos los días.
Siempre pruebe las copias de seguridad, asegúrese de que los scripts funcionen y no verifique los registros de vez en cuando. Si necesita recuperar algo, le alegrará tener este sistema.









