Rsync - Sincronización de directorios

Rafa Morales 13 Septiembre 2013
2min
0
Linux

La herramienta rsync nos permite la sincronización de archivos y directorios ya sea, en un mismo equipo local, como en equipos remotos a través de la red. Por lo tanto, es una herramienta que puede ser utilizada para realizar copias de seguridad en un sistema Linux.

Las características más importantes son:

  • Velocidad: La primera vez, rsync reproduce todo el contenido entre el origen y el destino. La siguiente vez, rsync sólo transferirá los bloques modificados o bytes en la ubicación de destino, lo que hace que la transferencia muy rápida.

  • Seguridad: rsync permite la encriptación de los datos mediante el protocolo SSH durante la transferencia.

  • Menos ancho de banda: rsync permite la compresión y descompresión de bloques de datos por bloques en el extremo emisor y receptor, respectivamente. Así que el ancho de banda utilizado por rsync será siempre menor en comparación con otros protocolos de transferencia de archivos.

  • Privilegios: No se necesitan privilegios especiales para ejecutar rsync.

Para instalar el paquete:

apt-get install rsync

Necesitamos tener instalado previamente el paquete SSH o RSH para la transmisión de los datos.

 

Sincronización local y remota

Para sincronizar dos directorios en el mismo equipo

rsync [parámetros] dir_origen/ dir_destino/

Para sincronizar dos directorios en equipos diferentes

rsync [parámetros] usuario@equipo:dir_origen/ dir_destino/
rsync [parámetros] dir_origen/ usuario@equipo:dir_destino/

Por ejemplo:

rsync -rtazv /home/usuario root@192.168.200.10:/home/publico

 

Parámetros

-r = Copiado recursivo de directorios.

-t = Conserva los tiempos de modificación de los archivos.

-v = Muestra el progreso del comando.

-a = Copia los enlaces simbólicos, conserva los permisos, la información del dueño y el grupo del archivo, además de conservar los archivos de dispositivo y los archivos especiales.

-u = Actualiza sólo el contenido nuevo

-z = Los datos que se envían son comprimidos previamente.

--delete = Elimina los archivos en destino que hayan sido eliminados en el origen.

--progress = Muestra el progreso de los archivos que están siendo transferidos.

-h = Muestra las cantidades en K's, M's o G's.