Introducción
El comando rsync es una de las herramientas más potentes y versátiles de Linux para sincronizar y transferir archivos y directorios. Ya sea que necesites hacer copias de seguridad, duplicar archivos o transferir datos entre sistemas (local o remotamente), rsync es una utilidad esencial para una gestión de archivos eficiente.
Esta guía explora los conceptos básicos de rsync, su sintaxis, casos de uso comunes y consejos para aprovechar al máximo su funcionalidad.
¿Qué es rsync?
Rsync (Remote Sync) es una utilidad de línea de comandos en Linux diseñada para:
- Transferencias de archivos eficientes: Usa codificación delta para transferir solo las partes modificadas de los archivos.
- Copia de seguridad y sincronización: Ideal para mantener copias de seguridad y duplicar directorios.
- Transferencias locales y remotas: Funciona sin problemas a través de SSH para operaciones remotas seguras.
Cómo usar rsync
Sintaxis básica
La sintaxis general de rsync es:
rsync [options] source destination
Casos de uso de ejemplo
1. Copiar un directorio local a un servidor remoto
rsync -av /local/dir/ user@remote:/remote/dir/
Opciones utilizadas:
-a: Modo de archivado (conserva enlaces simbólicos, permisos, marcas de tiempo, etc.).-v: Salida detallada con información pormenorizada durante la transferencia.
2. Sincronizar archivos de un servidor remoto al equipo local
rsync -azP user@remote:/remote/dir/ /local/dir/
Opciones utilizadas:
-z: Comprime los datos de los archivos durante la transferencia para mayor velocidad.-P: Muestra el progreso durante la transferencia y permite reanudar transferencias interrumpidas.
3. Hacer copias de seguridad de archivos excluyendo ciertos tipos de archivo
rsync -av --exclude='*.tmp' /source/dir/ /backup/dir/
La opción --exclude omite los archivos que coinciden con el patrón especificado (p. ej., archivos .tmp).
4. Eliminar archivos del destino que ya no existen en el origen
rsync -av --delete /source/dir/ /destination/dir/
Advertencia: Comprueba siempre dos veces las rutas cuando uses --delete para evitar la pérdida accidental de datos.
Ventajas de usar rsync
1. Transferencias eficientes
Rsync transfiere solo las partes modificadas de los archivos, lo que ahorra ancho de banda y tiempo.
2. Versatilidad
Gestiona transferencias locales y remotas sin problemas, lo que lo hace ideal para copias de seguridad, migraciones y sincronización.
3. Fiabilidad
Admite transferencias de archivos reanudables, de modo que las operaciones interrumpidas pueden reanudarse sin empezar de nuevo.
4. Seguridad
Se integra con SSH para transferencias de datos seguras a través de conexiones remotas.
5. Personalizable
Ofrece amplias opciones para excluir archivos, establecer límites de ancho de banda y mucho más.
6. Compatibilidad multiplataforma
Funciona en Linux, Unix e incluso Windows (mediante herramientas como Cygwin o WSL).
Consejo extra: ¡usa el modo de simulación!
Antes de ejecutar un comando rsync potencialmente destructivo (p. ej., con --delete), usa la marca --dry-run para simular la operación:
rsync -av --delete --dry-run /source/dir/ /destination/dir/
Así podrás revisar los cambios antes de aplicarlos y evitar la pérdida accidental de datos.
Referencia
Para obtener más información, consulta la documentación oficial: