Cómo automatizar copias de seguridad en Linux con un script
Cómo automatizar copias de seguridad en Linux con un script
Un script simple con rsync programado por cron cubre
la mayoría de necesidades domésticas, sin necesitar software
adicional.
El script
#!/bin/bash
FECHA=$(date +%Y-%m-%d)
rsync -av --delete /home/tu_usuario/Documentos/ /media/disco_externo/backup-documentos/
echo "Copia completada: $FECHA" >> /home/tu_usuario/backup.log
Guárdalo como backup.sh, dale permisos de ejecución:
chmod +x backup.sh
--delete elimina en el destino los archivos que ya no
existen en el origen, manteniendo una copia espejo exacta. Quítalo si
prefieres que el destino solo acumule, sin borrar nada nunca.
Programarlo con cron
crontab -e
Añade esta línea para ejecutarlo cada día a las 2 de la madrugada:
0 2 * * * /ruta/completa/backup.sh
Consejo: prueba el script manualmente primero
(./backup.sh) antes de programarlo — confirma que
funciona como esperas antes de dejarlo corriendo solo sin
supervisión.
Preguntas frecuentes
¿Qué hace exactamente rsync que no haga una copia normal?
Solo copia lo que ha cambiado desde la última vez, en vez de copiar todo de nuevo — mucho más rápido en copias repetidas de grandes cantidades de archivos.
¿Es seguro usar --delete en el script?
Mantiene una copia espejo exacta del origen, pero significa que si borras algo por error en origen, también se borra en el destino en la siguiente ejecución. Quítalo si prefieres que el destino solo acumule sin borrar nunca.