Rsync significa "sincronización remota". Es una herramienta de sincronización de archivos local y remota que te ayuda a transferir archivos de manera eficiente.

¿Qué es RSync?

Rsync es más rápido que herramientas como Secure Copy Protocol (SCP). Utiliza el algoritmo de transferencia delta que minimiza la transferencia de datos al copiar solo las secciones de un archivo que se han actualizado.

Algunas de las características adicionales de Rsync incluyen:

  • Admite la copia de enlaces, dispositivos, propietarios, grupos y permisos
  • No requiere privilegios de superusuario
  • Transferencias de archivos mediante pipelines para minimizar los costes de latencia

Solo puedes transferir archivos de local a remoto o de remoto a local. Rsync no admite transferencias de archivos remotas a remotas.

¿Cómo funciona RSync?

Ahora que sabe qué es Rsync, veamos cómo trabajar con él.

Rsync funciona de manera similar a otras herramientas de administración de servidores remotos como SSH y SCP.

Esta es la sintaxis básica de Rsync:

rsync [options] source [destination]

Esta es la sintaxis para transferir un archivo desde el sistema local a un servidor remoto. También se denomina operación "push".

rsync local_file_path user@remote-host:remote_file_path

Esta es la explicación de cómo transferir un archivo desde un servidor remoto al sistema local, también llamada operación "pull".

rsync user@remote-host:remote_file_path local_file_path
Nota: cuando trabaje con sistemas remotos, asegúrese de tener acceso SSH al sistema remoto. Rsync establece la conexión mediante SSH para permitir la transferencia de archivos.

¿Cómo usar Indicadores en RSync?

Rsync te permite agregar opciones adicionales a través de indicadores de línea de comandos. Veamos algunos indicadores útiles.

Recursivo

Si agrega la opción -r, RSync ejecutará una transferencia de archivos recursiva. Esto es útil cuando se trabaja con directorios. Aquí hay un ejemplo:

rsync -r user@remote-host:remote_directory/ local_directory

Archivo

El indicador -a se usa para conservar los enlaces simbólicos mientras se transfieren archivos. El indicador de archivo también conserva los archivos especiales y de dispositivo, las horas de modificación y los permisos del directorio de origen.

El indicador archivo también sincroniza archivos de forma recursiva, por lo que se usa más que el indicador recursivo. Así es como se usa:

rsync -a user@remote-host:remote_directory/ local_directory

Compresión

También puedescomprimir archivos usando el indicador -z. La compresión de archivos puedes reducir la carga de la red y acelerar la transferencia de archivos.

rsync -az user@remote-host:remote_directory/ local_directory

Progreso

Para transferencias de archivos grandes, es útil conocer el progreso de la operación. Puedes utilizar el indicador -P para conocer el progreso de la transferencia de archivos. Con Rsync, también puedes reanudar las transferencias de archivos si se interrumpen.

rsync -aP user@remote-host:remote_directory/ local_directory

Verboso

Finalmente, el comando verboso nos ayuda  a comprender cada paso de la transferencia de archivos. Puedes usar el indicador -v para esto.

rsync -av user@remote-host:remote_directory/ local_directory

También puedes usar el comando de ayuda con RSync para obtener una lista de todas las opciones y indicadores.

rsync --help
ayuda rsync

Conclusión

Rsync simplifica todo el proceso de transferencia de archivos al ofrecer una herramienta robusta, versátil y flexible en comparación con alternativas como SCP.

RSync es ideal para operaciones de mantenimiento, copias de seguridad y operaciones generales de archivos entre máquinas locales y remotas.

Referencias

Soy Manish y escribo sobre Ciberseguridad, Inteligencia Artificial y DevOps. Si te gustó este artículo, puedes encontrar mi blog aquí.

Traducido del artículo de Manish Shivanandhan - RSync Examples – Rsync Options and How to Copy Files Over SSH