GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos de comandos rsync de Linux

Rsync, abreviatura de sincronización remota , es un comando de Linux utilizado para copiar y sincronizar archivos, entre 2 sistemas Linux. Funciona de tal manera que cualquier cambio adicional realizado en un archivo o directorio se replica en otro sistema Linux.

Con el comando rsync de Linux, puede copiar y sincronizar sin problemas las copias de seguridad de forma local y remota entre sistemas y servidores Linux. En este artículo, examinaremos varias opciones de comando que puede usar junto con el comando rsync.

Sintaxis básica para el comando rsync de Linux

La sintaxis de rsync se resume brevemente a continuación.

$ rsync options source destination

Opciones utilizadas con el comando rsync

  • -z :Esto comprime los datos.
  • -v :Esto muestra el proceso en modo detallado.
  • -r :la opción copia los datos de forma recursiva (sin embargo, la opción no conserva las marcas de tiempo ni el permiso del archivo durante la transferencia de datos).
  • -h :Esto genera información en un formato legible por humanos.
  • -a :Esto no solo permite copiar archivos de forma recursiva, sino que también conserva los enlaces simbólicos, las marcas de tiempo, los permisos de archivo y las propiedades de usuarios y grupos.

Copiar archivos y directorios localmente

Puede sincronizar el archivo localmente de una ubicación a otra en una máquina Linux utilizando el ejemplo que se proporciona a continuación.

$ rsync -zvh backup.tar /opt/backup_dir

En el ejemplo anterior, el tarball backup.tar se copia y sincroniza con /opt/backup_dir directorio.

Salida de muestra

Para copiar un directorio localmente de una ubicación a otra :

La sintaxis será similar a copiar archivos, solo que en este caso usamos -a bandera para copia recursiva.

En el siguiente ejemplo, estamos copiando y sincronizando los deb_packages directorio al /opt/backup_dir directorio.

$ rsync -azvh deb_packages /opt/backup_dir

Salida de muestra

Copiar/sincronizar archivos o directorios hacia y desde un servidor remoto

Para copiar un directorio a un servidor remoto, el nombre de usuario y la dirección IP del servidor deben especificarse junto con la carpeta de destino.

En el siguiente ejemplo, los deb_packages el directorio se copia a un servidor remoto con una IP 66.152.163.19 usando credenciales de usuario raíz y guardadas en el directorio de inicio raíz.

$ rsync -avz deb_packages [email protected]: 

Salida de muestra

Para copiar y sincronizar un directorio desde un servidor remoto a una PC local :

Para copiar y sincronizar archivos desde un sistema remoto a un sistema Linux local, utilice el siguiente ejemplo

$ rsync -avzh [email protected]:documents /opt/backup_dir

En el ejemplo anterior, el directorio documents se copia recursivamente desde el sistema remoto con IP 66.152.163.19 al sistema local en /opt/backup_dir directorio.

Comando Rsync sobre SSH

Rsync se puede usar junto con el protocolo SSH para proteger o cifrar los archivos que se envían hacia y desde un sistema Linux. esto asegura que nadie pueda espiar los datos que está transfiriendo a través de la red.

Para copiar un archivo desde un servidor local a un servidor remoto usando rsync sobre SSH:

En este ejemplo, usaremos -e opción con rsync para especificar un protocolo, en este caso, SSH.

$ rsync -avhze ssh backup.tar [email protected]:/backup_dir

Salida de muestra

Para copiar un archivo desde un servidor remoto a un sistema local usando rsync sobre SSH:

Al igual que en el ejemplo anterior, el comando rsync se usa junto con -e opción.

$ rsync -avzhe ssh [email protected]:/backup_dir /tmp/

Salida de muestra

Mostrar el progreso durante la transferencia de datos con el comando rsync

Si desea ver el progreso durante la transferencia de datos, use el --progress opción. Esto muestra el archivo y el tiempo estimado para completar la transferencia de datos.

Salida de muestra

Comando Linux rsync con opciones de inclusión y exclusión

Estas opciones anteriores ayudan a los usuarios a include y exclude archivos que pueden querer incluir o excluir en el proceso de sincronización.

En el siguiente ejemplo, el comando rsync incluirá esos archivos en /var/lib directorio que comienza con 'p' y excluye todos los demás archivos y directorios.

$ rsync -avz --include 'p*' --exclude '*' /var/lib [email protected]:/opt/backup_dir

Salida de muestra

Establecer el tamaño máximo de los archivos a transferir

Puede definir el tamaño máximo de archivo que se transferirá y sincronizará mediante la opción "–max-size".

$ rsync -avzh --max-size='50M' deb_packages [email protected]:/opt/backup-dir

El comando anterior limita la transferencia de archivos en deb_packages directorio a 50 Megas. Esto implica que solo se transferirán y sincronizarán archivos iguales o inferiores a 50 MB.

Salida de muestra

Eliminar archivos de origen después de una transferencia exitosa

Si está realizando una copia de seguridad de sus archivos en un destino remoto pero no desea conservar una copia local, utilice –remove-source-files opción como se muestra.

$ rsync --remove-source-files -zvh backup.tar /tmp/mybackups/

Salida de muestra

Esperamos que este artículo haya sido de beneficio para usted. Si tiene alguna consulta, comuníquese con nosotros con sus comentarios.


Linux
  1. 7 ejemplos prácticos del comando cd en Linux

  2. Ejemplos prácticos del comando rsync en Linux

  3. 8 ejemplos de comandos TR de Linux

  4. Ejemplos de comandos rm en Linux

  5. Ejemplos de comandos ps en Linux

Comando Du en Linux

Comando de CD de Linux con ejemplos

Comando mv en Linux

5 Ejemplos Prácticos del Comando “cd” en Linux

15 ejemplos prácticos del comando Rsync en Linux

Ejemplos de comandos id en Linux