SINCRONIZACIÓN REMOTA CON RSYNC
rsync es una de las herramientas más potentes y utilizadas en sistemas Linux/Unix (y también disponible en Windows vía WSL o Cygwin) para copiar, sincronizar y transferir archivos y directorios de forma muy eficiente.Su gran ventaja es el algoritmo delta-transfer (o de diferencias):
- No copia siempre todo el archivo.
- Solo transfiere las partes que han cambiado (incluso a nivel de bloques dentro del mismo archivo).
- Se hacen copias de seguridad incrementales.
- Sincronizas sitios web grandes.
- Migrar servidores.
- Hacer mirrors de repositorios.
- Respaldos remotos diarios.
Usos más comunes
- Copia local: "rsync -av /origen/ /destino/".
- Copia a servidor remoto (vía SSH): "rsync -avz /carpeta/ usuario@servidor:/ruta/destino/".
Copia desde remoto a local: "rsync -avz usuario@servidor:/ruta/origen/ /local/".
- Sincronización bidireccional (con cuidado): usando herramientas como unison o combinaciones avanzadas.
- Backups con borrado de archivos eliminados: "rsync -av --delete ...".
Ejemplo práctico
Ejemplo de backup incremental a servidor:
rsync -avz --progress --delete \
--exclude='.git/' \
--exclude='node_modules/' \
/home/usuario/proyectos/ \
usuario@192.168.1.100:/backups/proyectos/
Esto copia solo lo que cambió, comprime en tránsito, muestra progreso, borra archivos que ya no existen en origen y excluye carpetas innecesarias.
Opciones más usadas (flags importantes)
rsync -avz --progress --delete \
--exclude='.git/' \
--exclude='node_modules/' \
/home/usuario/proyectos/ \
usuario@192.168.1.100:/backups/proyectos/