Copias de seguridad automáticas con rsync y cron

Copias de seguridad automáticas con rsync y cron

Introducción

En entornos profesionales y domésticos, garantizar la integridad y disponibilidad de los datos es crucial. Las copias de seguridad automáticas ofrecen una capa esencial de protección ante fallos de hardware, errores humanos o ataques de malware. rsync combinado con cron constituye una solución flexible, eficiente y de bajo coste para implementar backups periódicos en sistemas basados en Unix/Linux.

¿Qué es rsync

rsync es una herramienta de sincronización y transferencia de archivos que destaca por:

  • Algoritmo delta: copia solo los bloques modificados.
  • Compresión y cifrado: con -z para comprimir y -e ssh para transferir por túnel seguro.
  • Eficiencia: reduce el ancho de banda y acelera las sincronizaciones posteriores.

Para más detalles, consulta la Documentación oficial de rsync.

¿Qué es cron

cron es un demonio que ejecuta tareas en horarios definidos por el usuario. Se configura mediante archivos crontab, que permiten especificar la frecuencia y el comando o script a ejecutar.

Referencia rápida: Formato de crontab.

Ventajas de las copias automáticas

  • Confiabilidad: los backups se realizan sin intervención manual.
  • Escalabilidad: aplicado a servidores, estaciones de trabajo y dispositivos remotos.
  • Flexibilidad: admite filtros, exclusiones y múltiples destinos.
  • Economía: utiliza software libre y recursos existentes.

Requisitos previos

  1. Sistema Linux/Unix con rsync y cron instalados.
  2. Acceso SSH configurado (si el destino es remoto) con clave pública.
  3. Espacio suficiente en el destino de la copia.
  4. Permisos adecuados de lectura en los orígenes y de escritura en el destino.

Configuración básica de rsync

Un comando típico de rsync para copia local sería:

rsync -av –delete /ruta/origen/ /ruta/destino/

Explicación de opciones:

Opción Descripción
-a Modo archivo (preserva permisos, fechas, enlaces).
-v Modo verbose (muestra progreso).
–delete Elimina en destino archivos borrados en origen.

Ejemplo de script de backup

#!/bin/bash
ORIGEN=/home/usuario/
DESTINO=/backup/usuario/
LOG=/var/log/backup.log
FECHA=(date %Y-%m-%d_%H-%M)
echo Backup iniciado: FECHA >> LOG
rsync -azh –delete –exclude=.tmp ORIGEN DESTINO >> LOG 2>1
echo Backup finalizado: (date %Y-%m-%d_%H-%M) >> LOG

Este script:

  • Registra el inicio y fin de cada ejecución.
  • Excluye archivos temporales.
  • Usa compresión (-z) y preserva atributos (-h).

Programar backups con cron

Para ejecutar el script todos los días a las 2:00 AM, añade al crontab del usuario:

0 2 /ruta/al/script_backup.sh

Edición rápida:

  • crontab -e: edita el crontab actual.
  • crontab -l: lista las tareas programadas.

Monitoreo y notificaciones

Para recibir alertas por correo electrónico en caso de error, añade al inicio del script:

MAILTO=admin@ejemplo.com
set -o pipefail

O utiliza herramientas como mailx o ssmtp para enviar un resumen diario.

Seguridad y cifrado

Para copias remotas, siempre especifica el uso de SSH:

rsync -avz -e ssh -i /home/usuario/.ssh/id_rsa /origen/ usuario@servidor:/destino/

Considera el uso de ssh-agent para no introducir la clave en cada ejecución.

Rotación y retención de backups

Una estrategia básica de retención puede mantener:

  • Diarios: últimos 7 días.
  • Semanales: últimas 4 semanas.
  • Mensuales: últimos 6 meses.

Herramientas como logrotate o scripts adicionales pueden eliminar automáticamente copias antiguas.

Mejores prácticas

  • Pruebas periódicas: restaura datos para validar la integridad.
  • Documentación: mantén un registro de la configuración y cambios.
  • Monitoreo de espacio: alerta cuando el destino alcance cierto umbral.
  • Acceso seguro: restringe usuarios y utiliza autenticación fuerte.
  • Versionado: guarda metadatos o utiliza rsnapshot para gestionar snapshots.

Conclusión

La combinación de rsync y cron ofrece una solución sólida y versátil para automatizar copias de seguridad. Con una configuración adecuada y el seguimiento de las mejores prácticas, podrás proteger tus datos con un mínimo esfuerzo y coste. Implementar esta estrategia contribuye directamente a la continuidad del negocio y la tranquilidad del equipo de administración.

Download TXT




Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *