Cómo rsync un directorio?

Cómo rsync un directorio?
Rsync representa la "sincronización remota."Es un método de sincronización para directorios y archivos que funciona tanto a nivel local como de forma remota. Esta herramienta emplea el "algoritmo delta"Eso reduce la cantidad de datos copiados al transferir solo la parte modificada de los archivos o directorios. En esta publicación, pasaremos por los conceptos básicos de usar esta herramienta para sincronizar un directorio.

Que es rsync?

RSYNC es una utilidad habilitada para la red que es altamente flexible en términos de sincronización de archivos y directorios. Se incluye en la mayoría de las distribuciones de Unix y Linux como una utilidad popular para los scripts del sistema y su uso generalizado en estos sistemas operativos.

Ahora, veremos la sintaxis básica del comando rsync.

Sintaxis RSYNC:

$ RSYNC Opción Fuente Destino

Aquí "Opción" se refiere a opciones de RSYNC, "fuente" para el directorio de origen y "Destino" para el directorio de destino.

Para demostrarle el método de sincronizar un directorio en Linux, creamos dos directorios de prueba, "TestDir1" y "TestDir2", en nuestro sistema.

1. Directorio RSYNC localmente:

En primer lugar, enumere todo el contenido del directorio para conocer los archivos o carpetas. Hemos seleccionado "testdir1" para este propósito.

$ ls -al ./testdir1/

Directorio RSYNC con la opción "-r":

Para la sincronización directa, utilice la opción recursiva "-r" en el comando rsync. La sintaxis dada a continuación sincronizará el contenido de la fuente a su directorio de destino. El "/" apunta hacia el contenido del directorio de origen. Sin este corte, el comando RSYNC colocará el directorio de origen dentro del directorio de destino.

Escriba este comando para comenzar a sincronizar un directorio a otro.

$ rsync -r testdir1/ testdir2
$ ls -al ./testdir2/

Enumere el contenido "TestDir2" para ver los cambios realizados por RSYNC.

Directorio RSYNC con la opción "-a":

También puede utilizar varias opciones o banderas que RSYNC admite. La bandera "-a" es una de ellas. Este indicador ayuda al comando RSYNC a sincronizar un directorio de manera recursiva y mantener los archivos del dispositivo, los tiempos de modificación, los enlaces simbólicos, el propietario, el grupo y los permisos de archivos.

$ rsync -a testdir1/ testdir2
$ ls -al ./testdir2/

Directorio RSYNC con la opción "-V":

Para mostrar el proceso RSYNC en la opción Terminal "-V" se utiliza con el comando RSYNC.

$ RSYNC -ANV testDir1/ testdir2

Para verificar la diferencia que viene mediante el uso de un "/" al final del directorio de origen, escriba este comando:

$ rsync -anv testdir1 testdir2

La salida establece claramente que ahora se transfiere el directorio de origen.

Directorio RSYNC con la opción "-P":

El "-p" muestra el progreso del directorio de sincronización al mostrar la barra de progreso en la terminal.

$ RSYNC -AZP testDir1 testDir2

También puede utilizar el mismo comando para reanudar las transferencias interrumpidas.

$ RSYNC -AZP testDir1 testDir2

Para verificar si utilizando el mismo comando rsync solo sincroniza la modificación que hicimos en el directorio, cree algunos archivos de prueba en su directorio de origen.

$ touch testdir1/file 1 ... 10

Después de eso, ejecute el mismo comando rsync y vea el comportamiento inteligente del comando rsync.

$ RSYNC -AZP testDir1 testDir2

2. Directorio RSYNC del sistema local al sistema remoto:

La operación de sincronizar un directorio local a cualquier sistema remoto se conoce como "Push", ya que empuja el directorio de su sistema local a la remota.

Siga la sintaxis de la operación de empuje para sincronizar un directorio:

$ rsync -a ~/origen nombre de usuario@remoto_host: destino

En nuestro caso, vamos a sincronizar el directorio "testdir1" al host remoto "10.0.2.15".

$ rsync -a ~/testdir1 [email protected]: testdir2

3. Directorio RSYNC del sistema remoto al sistema local:

Como todos sabemos, lo contrario de empuje es "Pull."En el contexto de la sincronización, la operación de extracción sincroniza un directorio desde el sistema remoto a su sistema local.

$ sudo rsync -v name de usuario@remoto_host: destino de origen
$ sudo rsync -v [email protected]:/home/linuxhint/testdir1/testdir2

Conclusión:

RSYNC es una herramienta que puede mejorar la confiabilidad de la sincronización de directorio local y el proceso de transferencia de archivos a través de sistemas remotos. Puedes usar el Comando RSYNC Para crear copias de seguridad complejas y un control suave sobre qué y cómo se sincronizará un directorio. En esta publicación, le hemos demostrado las diversas formas de usar RSYNC, que incluyen: directorio RSYNC dentro de un sistema local, directorio RSYNC de local a un sistema remoto, y también de remoto a la local.