Rsync

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda

rsync: sincronización y backup de archivos

Introducción

rsync es una herramienta ampliamente utilizada en sistemas Linux para la sincronización y copia eficiente de archivos entre sistemas.

Se basa en un algoritmo que transfiere únicamente los cambios entre origen y destino, lo que reduce el uso de red y acelera los procesos de backup.


Características principales

  • Transferencia incremental (solo cambios)
  • Soporte para copias locales y remotas
  • Preservación de permisos, propietarios y timestamps
  • Compresión durante la transferencia
  • Uso habitual sobre SSH

Uso básico

rsync -av /origen/ /destino/

Parámetros más comunes:

  • -a → modo archivo (preserva atributos)
  • -v → salida detallada
  • -z → compresión
  • --delete → elimina en destino lo que no existe en origen

Ejemplo de backup remoto

rsync -avz /datos/ usuario@192.168.1.100:/backup/datos/

Este comando copia el contenido del directorio /datos/ a un servidor remoto utilizando SSH.


Consideraciones

  • Es recomendable utilizar autenticación por clave SSH
  • El uso de --delete debe realizarse con precaución
  • Puede integrarse fácilmente con cron para automatización

Automatización con cron

Para realizar backups de forma periódica, rsync puede integrarse con cron.

Ejemplo de ejecución diaria a las 03:00:

0 3 * * * /usr/bin/rsync -avz /datos/ usuario@192.168.1.100:/backup/datos/ >> /var/log/rsync-backup.log 2>&1

Este cronjob realiza:

  • Backup diario del directorio /datos/
  • Sincronización con un servidor remoto
  • Registro de la ejecución en /var/log/rsync-backup.log

Buenas prácticas

  • Utilizar autenticación SSH sin contraseña (claves)
  • Probar el comando manualmente antes de automatizarlo
  • Supervisar los logs para detectar errores
  • Considerar el uso de --delete solo si se entiende su impacto

Conclusión

rsync es una herramienta ligera, flexible y eficiente para realizar backups incrementales y sincronización de datos en entornos Linux.