GNU/Linux >> Tutoriales Linux >  >> Debian

El comando rsync de Linux:cómo usarlo

Como casi todos los comandos de Linux, rsync tiene una sintaxis básica que debemos seguir.

rsync [OPTION]... SRC [SRC]... DEST

En otras palabras, comando + opciones + carpeta de origen + destino.

A continuación, con algunos ejemplos, explicaré el uso de este comando.

Ejemplos de cómo usar el comando rsync

1.- Copiar archivos o directorios localmente

Para sincronizar carpetas o archivos usando rsync localmente, simplemente ejecute el siguiente comando:

:~$ rsync -avzh [file] [destination]

Por ejemplo, si desea hacer una copia de seguridad de una carpeta llamada Files en otra llamada backups , sería así:

:~$ rsync -avzh /home/user/Files/ /home/user/backups/

En este caso, todo el contenido de los Files la carpeta se copiará en Backup carpeta. Incluso si la carpeta no existe, rsync la creará.

Tenga cuidado con / al final de la carpeta de origen, si ejecuta este comando:

:~$ rsync -avzh /home/user/Files /home/user/backups/

El resultado es que una carpeta llamada Files se creará dentro de la Backup carpeta y el contenido estará allí. Digamos que la estructura del directorio en el destino será /home/user/backups/Files/

Ahora, las opciones que uso para este comando, ayudan mucho a que el proceso sea óptimo.

un :mantiene el usuario, grupo, permisos, fecha y hora, así como los enlaces simbólicos.
v :muestra el resultado de la ejecución del comando.
z :Esta opción, comprime la carpeta o archivo antes de realizar la sincronización o copia. Útil en archivos y carpetas muy grandes.
h :se usa para hacer que las unidades parezcan más legibles.

De esta manera, es bastante simple hacer una copia de seguridad de una carpeta localmente.

2.- Sincronización remota mediante el comando rsync de Linux

En esta sección, sincronizaremos con una computadora remota. Se recomienda hacerlo mediante SSH para que nuestros archivos se transfieran de forma segura.

Para este comando, debe agregar la opción e que habilita el uso de un shell externo que en este caso es SSH.

:~$ rsync -avhze ssh [folder-or-file] [user]@[host]:[destination]

Como vemos es bastante sencillo, en este caso sincronizaré los Files carpeta a un host con dirección IP 192.168.1.23 en los Documents carpeta.

:~$ rsync -avhze ssh /home/user/Files [email protected]:/home/user1/Documents

Y así de sencillo es hacerlo. Pero, ¿y si SSH no se está ejecutando en el puerto 22? Bueno, podemos especificar un puerto específico de la siguiente manera:

:~$ rsync -avhze "ssh -p [port]" /home/user/Files [email protected]:/home/user1/Documents

3.- Eliminar los archivos de la carpeta de origen

En este caso, el proceso se parece más a un movimiento que a una copia. Sin embargo, también es posible hacerlo. Para hacerlo, agregue --remove-source-files opción

:~$ rsync -avzh --remove-source-files /home/user/Files /home/user/backups/

También funciona de forma remota:

:~$ rsync --remove-source-files -avhze ssh /home/user/Files [email protected]:/home/user1/Documents

Tenga cuidado con esta opción porque eliminará todo lo que esté en la carpeta de origen.

4.- Incluir o Excluir archivos específicos

El comando rsync de Linux también le permite excluir o incluir archivos específicos durante la sincronización. Esto se hace usando el --include y --exclude opciones

Un ejemplo muy útil es sincronizar únicamente archivos con extensión, por ejemplo, JPG. Esto se puede hacer de la siguiente manera:

:~$ rsync -ahvz --include "*.html" --exclude "*" /home/user/Files /home/user/backups/

Además, estas opciones se pueden utilizar en una sincronización remota.

5.- Prueba el comando rsync antes de sincronizar

Con rsync, puede realizar operaciones bastante delicadas en los servidores. Por lo tanto, es una buena idea probarlo antes de realizar cualquier cambio. Algo así como una vista previa.

Para esto, existe el --dry-run opción:

:~$ rsync -avzh --dry-run --remove-source-files /home/user/Files /home/user/backups/

De esta manera, sabrá exactamente lo que hará el comando antes de realizar cualquier cambio, evitando errores.

Bonus:algunas aplicaciones gráficas para rsync

rsync es un comando con muchas opciones. Y gracias a esto, otros desarrolladores han creado programas que pueden manejarlo desde una interfaz gráfica.

Estos programas ayudan no solo al principiante sino también al usuario más experimentado que con unos pocos clics quiere usar rsync.

El primero es LuckyBackup, que es una aplicación maravillosa. Es bastante completo y tiene muchas opciones.

Para descargarlo, puede visitar este enlace y elegir el paquete adecuado.

La segunda opción es Grsync que proporciona desde una interfaz GTK una facilidad de uso bastante lograda de rsync. Quizás no sea tan completo como Luckybackup pero es muy completo y difícilmente echarás en falta alguna opción.

Para instalarlo, simplemente use el administrador de paquetes de su distribución. Por ejemplo, en Debian, Ubuntu y derivados:

:~$ sudo apt install grsync

Con estas dos herramientas, puede aprovechar el comando rsync y obtener más información al respecto.

Conclusión

El comando rsync de Linux se utiliza para copiar archivos de forma avanzada. E incluso, este comando es la base de otras aplicaciones gráficas para facilitar la tarea de realizar copias de seguridad.

Este comando es muy poderoso y rápido y es por eso que se ha convertido en una herramienta que todo administrador de sistemas debe conocer. En cualquier caso, en este post, estos ejemplos ayudan a conocer, al menos de forma básica, cómo funciona rsync.


Debian
  1. Cómo usar el comando grep de Linux

  2. Cómo usar el comando de historial en Linux

  3. Cómo usar el comando id en Linux

  4. ¿Cómo usar el comando Rsync en Linux?

  5. Cómo usar el comando "pantalla" en Linux

Cómo usar el comando superior de Linux

Cómo usar el comando fd en el sistema Linux

¿Cómo usar el comando wget en Linux?

¿Cómo usar el comando xargs en Linux?

Cómo usar el comando RPM en Linux

Cómo usar el comando which en Linux