Documentos de Académico
Documentos de Profesional
Documentos de Cultura
07 Septiembre 2018
Rsync es una herramienta de copia y sincronización de archivos locales y remotos muy utilizada
para mantener copias sincronizadas (mirrors) y realizar backups. Permite copiar localmente o
desde/hacia otro host remoto sobre una shell. Posee un gran número de opciones que posibilitan
controlar cada aspecto del conjunto de archivos a ser copiado. A su vez, utiliza un algoritmo que
transmite sólo las diferencias entre archivos, lo que optimiza el uso de la red.
Para identificar qué archivos necesitan ser copiados, rsync utiliza un algoritmo de verificación
rápida, el cual compara las fechas de modificación y tamaño.
Este artículo explica cómo sincronizar una copia remota de un directorio utilizando rsync a través
de SSH.
root@devuan:~# ls -l /backups/
total 932
-rw-r--r-- 1 root root 952727 sep 7 12:59 etc.tar.gz
El sistema local es "hal9000" y se desea mantener una copia del directorio remoto
en /data/backups :
emi@hal9000:/data/backups % ls -l /data/backups/
total 0
La opción -v indica que la salida sea verbosa (informativa), mientras que -a (modo de archivo)
es una opción que engloba varias opciones comunes ( -rlptgoD ):
-r : modo recursivo.
-l : copiar enlaces simbólicos.
-p : preservar los permisos.
-t : preservar fechas de modificación.
https://www.linuxito.com/gnu-linux/nivel-basico/1097-sincronizar-directorios-remotos-con-rsync-via-ssh 1/4
10/8/2020 Sincronizar directorios remotos con rsync vía SSH
-g : preservar el grupo.
-o : preservar el dueño.
-D : preservar dispositivos y archivos especiales.
Para realizar la copia de archivos a través de SSH, es necesario utilizar la opción -e . Como
parámetro a esta opción es posible agregar cualquier parámetro u opción necesaria para SSH,
como por ejemplo el puerto (si se utiliza uno personalizado).
La sintaxis para especificar un host remoto es idéntica a la de, por ejemplo, scp:
usuario@host:ruta
emi@hal9000:/data/backups % ls -l
total 992
-rw-r--r-- 1 emi wheel 952727 Sep 7 12:59 etc.tar.gz
Prueba de concepto
Al sincronizar nuevamente, sólo se traen desde el host remotos los nuevos archivos:
https://www.linuxito.com/gnu-linux/nivel-basico/1097-sincronizar-directorios-remotos-con-rsync-via-ssh 2/4
10/8/2020 Sincronizar directorios remotos con rsync vía SSH
root@devuan:~# rm /backups/hola*
root@devuan:~# ls -l /backups/
total 932
-rw-r--r-- 1 root root 952727 sep 7 12:59 etc.tar.gz
https://www.linuxito.com/gnu-linux/nivel-basico/1097-sincronizar-directorios-remotos-con-rsync-via-ssh 3/4
10/8/2020 Sincronizar directorios remotos con rsync vía SSH
Sin embargo, cabe destacar que se debe utilizar con mucho cuidado, especialmente cuando se
utiliza junto con el modo recursivo ( -a o -r ).
En conclusión, rsync es una excelente herramienta para mantener copias actualizadas y realizar
copias de seguridad. Si se desea ejecutar este tipo de sincronización de manera programada y
desatendida, será necesario autenticar el usuario remoto a través de SSH mediante clave pública.
https://www.linuxito.com/gnu-linux/nivel-basico/1097-sincronizar-directorios-remotos-con-rsync-via-ssh 4/4