Sincronizar archivos con rsync en Linux y macOS: guía segura

·4 min de lectura·

rsync copia y sincroniza archivos entre directorios locales o equipos remotos. En transferencias posteriores puede enviar solo las diferencias necesarias, lo que resulta útil para copias repetidas [1]. Como algunas opciones también pueden borrar datos del destino, conviene entender primero el efecto de las rutas y hacer una simulación.

Copiar un directorio local

La opción -a activa el modo archivo, que conserva recursividad, enlaces simbólicos, permisos y marcas de tiempo, entre otros atributos. No incluye por sí sola todas las opciones posibles de preservación, como ACL o atributos extendidos [1].

rsync -a /ruta/origen/ /ruta/destino/

La barra final de la ruta de origen importa:

  • /ruta/origen/ copia el contenido de origen dentro de destino.
  • /ruta/origen copia el directorio origen como una carpeta dentro de destino.

Antes de ejecutarlo, confirma qué resultado quieres en el destino. La documentación de rsync describe esta diferencia como la distinción entre transferir el directorio en sí y transferir su contenido [1].

Simular y revisar cambios

Añade --dry-run para hacer una simulación que no aplique cambios. --itemize-changes muestra qué elementos rsync propone actualizar:

rsync -a --dry-run --itemize-changes /ruta/origen/ /ruta/destino/

Revisa la salida y las rutas. Cuando hayas confirmado el plan, repite el comando quitando --dry-run [1].

Sincronizar por SSH

Indica el usuario, el host y la ruta remota en uno de los extremos. Por ejemplo, para enviar el contenido de una carpeta local:

rsync -a --dry-run --itemize-changes -e "ssh -p 2222" \
  /ruta/origen/ usuario@servidor:/ruta/destino/

-e permite especificar el transporte remoto; aquí configura SSH en el puerto 2222. Si SSH usa el puerto predeterminado, normalmente se puede omitir -e "ssh ...". Puedes invertir origen y destino para descargar desde el servidor:

rsync -a -e "ssh -p 2222" \
  usuario@servidor:/ruta/remota/ /ruta/local/

Empieza también esta operación con --dry-run, especialmente si el destino contiene datos que deban conservarse.

Excluir archivos

Usa --exclude para omitir patrones concretos, como archivos de registro:

rsync -a --exclude='*.log' /ruta/origen/ /ruta/destino/

Si el patrón forma parte de un comando que también contiene --delete, comprueba en la simulación qué ficheros quedan protegidos y cuáles se transferirán. No añadas --delete-excluded salvo que quieras que también se eliminen del destino los elementos excluidos [1].

Reflejar el origen con --delete

--delete elimina del destino los elementos que no existen en el origen. No lo añadas a una copia rutinaria sin comprobar primero el alcance: una ruta equivocada o una barra final mal entendida podría provocar borrados no deseados [1].

Simula antes:

rsync -a --delete --dry-run --itemize-changes \
  /ruta/origen/ /ruta/destino/

Comprueba cuidadosamente tanto las rutas como las eliminaciones que muestra rsync. Solo entonces ejecuta la sincronización real:

rsync -a --delete /ruta/origen/ /ruta/destino/

Opciones frecuentes

OpciónUso
-aModo archivo; recorre directorios y conserva varios atributos habituales.
-vMuestra más información durante la operación.
-hPresenta tamaños en formato legible para personas.
--dry-run (-n)Simula la operación sin aplicar cambios.
--itemize-changes (-i)Detalla los cambios propuestos o realizados.
--exclude='patrón'Excluye del envío los elementos que coincidan con el patrón.
--deleteElimina del destino los elementos que no están en el origen.

En resumen

  • La barra final del origen determina si se copia la carpeta o solo su contenido.
  • Usa --dry-run --itemize-changes para revisar una operación antes de ejecutarla.
  • --delete elimina elementos del destino; simúlalo y confirma las rutas antes de usarlo.
  • Mantén origen, destino y exclusiones explícitos, sobre todo en scripts de copia.

Fuentes consultadas

  1. Manual oficial de rsync: opciones, rutas, simulación, exclusiones y borrado

rsync

¿Te ha resultado útil?

Compártelo con tu red de contactos profesionales.

Comentarios (0)

Sé el primero en comentar.