GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo usar Rsync

Introducción

El comando de sincronización remota o rsync se usa para transferir y sincronizar archivos y directorios entre máquinas, hosts, shells remotos o una combinación de los anteriores. Es una poderosa utilidad que debes conocer si trabajas con Linux. Cubriremos los conceptos básicos del comando rsync aquí. Aunque este artículo usa Ubuntu 20.04, puede usar los mismos comandos en otras distribuciones de Linux.

¿Qué hace que rsync sea tan especial?

Los comandos rsync usan compresión y descompresión cuando reciben y envían archivos, esto significa que consumirá mucho menos ancho de banda. Rsync solo actualiza las diferencias entre el origen y el destino, ya que utiliza el protocolo de actualización remota. También admite propietarios, grupos, enlaces, permisos y dispositivos.

¿Cómo instalar rsync?

La mayoría de las distribuciones de Linux vienen con rsync instalado. En caso de que el suyo no lo tenga, use el siguiente comando en su sistema Ubuntu:

sudo apt-get install rsync

Sintaxis Rsync

Esta sección revisará brevemente la sintaxis de rsync.

Transferencia o sincronización de local a local

rsync {opción} {fuente} {destino}

Transferencia o sincronización local a remota

rsync {opción} {origen} {[email protected]:destination}

Transferencia o sincronización remota a local

rsync {opción} {[email protected]:destination} {destination}

Fuente es el directorio de origen

Destino es el directorio de destino

La opción son las opciones del comando rsync

El usuario es el nombre de usuario remoto

Host es la IP o nombre de host remoto

Cómo usar rsync

Copiar archivos localmente

Para copiar archivos localmente, use:

rsync –a {filename} {destination}

En el ejemplo anterior, estamos copiando "source.zip ” de nuestro directorio actual a Documentos.

Puede verificar si el archivo se copió enumerando todos los archivos y directorios en Documentos, usando:

ls

Como puede ver, “fuente.zip ” está presente en el directorio Documentos.

Si no agrega un nombre para el archivo en el destino, copiará el mismo nombre que el archivo de origen. Para cambiar el nombre del archivo de destino, use:

rsync –a {filename} {destination/filename}

En el siguiente ejemplo, copiaremos “source.zip ” nuevamente, pero esta vez, cámbiele el nombre a “destination.zip ”.

destino.zip ” se ha copiado en el directorio Documentos, como se muestra en la imagen a continuación.

Copiar el contenido de un directorio al destino

Puede usar el siguiente comando para copiar el contenido de su directorio de origen al destino.

rsync –av {source}/ {destination}

La imagen de arriba muestra el contenido "Fuente ” directorio que se está copiando en el “Destino ” directorio.

Copiar todo el directorio al destino

Si solo desea copiar el contenido de su directorio al destino, use:

rsync –av {source} {destination}

El ejemplo anterior copia el "Fuente ” y su contenido al “Destino ” directorio.

Mostrar progreso

Para ver el progreso, use:

rsync –rv –progress {source} {destination}

Ignorar archivos

Si desea ignorar ciertos archivos, use:

rsync -vr --exclude '{condition}' {source} {destination}

La “Fuente El directorio ” tiene los siguientes archivos:

En el siguiente ejemplo, ignoraremos los archivos que comienzan con "s ”.

Como muestra la imagen, solo "archivo ” se copia.

Lista de archivos y directorios

rsync se puede usar para enumerar el contenido de una fuente.

rsync {filename}

El comando anterior muestra el contenido del directorio Documentos.

Copiar archivos de una máquina local a una remota

Para mover archivos a una máquina remota, deberá instalar el servidor openssh. El comando para eso es:

sudo apt update
sudo apt install openssh-server

Una vez que se haya instalado, puede usar el siguiente comando para mover su archivo o directorio.

rsync –a {source} {remote [email protected] IP:/destination}

Se le pedirá la contraseña de la máquina remota.

En el siguiente ejemplo, moveremos “doc ” al directorio de inicio remoto.

Usando ls, podemos ver que “doc ” se ha movido aquí.

Copiar archivos de una máquina remota a una local

Utilizará el mismo comando que el utilizado en el ejemplo anterior.

rsync –a {remote source} {local [email protected] IP:/destination}

En este ejemplo, moveremos "remotesrcdoc ” de la máquina remota a la máquina local.

Usando ls, podemos ver que “remotesrcdoc ” se ha movido aquí.

Añadir la fecha actual al archivo de destino

Puede agregar la fecha al nombre de su archivo o directorio de destino usando:

rsync -av /home/test/Desktop/Linux /home/test/Desktop/rsync$(date +\\%Y-\\%m)

En el siguiente ejemplo, moveremos “source.zip ” en el escritorio, asígnele el nombre de destino y agréguele la fecha.

Visualización de las diferencias entre los archivos de origen y de destino
El siguiente comando se puede utilizar para ver las diferencias entre los archivos de origen y de destino.

rsync –avzi {source}/ {destination}/

La siguiente imagen muestra que los archivos "Donuts ” y “Hola.txt ” no están presentes en el directorio de destino.

El parámetro “f ” significa archivo. Otros parámetros incluyen:

t:cambio en la marca de tiempo

d:cambio de destino

s:cambio en el tamaño del archivo

Limite el ancho de banda al transferir archivos

Para limitar el ancho de banda mientras transfieres archivos, usa:

rsync -vr --bwlimit=1000 {source}/* {destination}

En el siguiente ejemplo, estamos limitando el ancho de banda a 1000kB.

Más sobre rsync

Para ver más de las opciones disponibles en rsync, use:

rsync –help

Cubrimos algunos de los conceptos básicos del comando rsync, vimos cómo transferir y sincronizar archivos de forma local y remota.

Si desea sincronizar sus archivos usando el comando scp, visite aquí.


Ubuntu
  1. Cómo usar BusyBox en Linux

  2. Cómo uso cron en Linux

  3. Cómo usar rsync avanzado para grandes copias de seguridad de Linux

  4. El comando rsync de Linux:cómo usarlo

  5. ¿Cómo usar Xkbprint?

Cómo instalar Go en Ubuntu 20.04

Cómo usar el comando cd en Linux

Cómo eliminar un directorio en Ubuntu 20.04

Cómo usar Ubuntu

¿Cómo usar índices en cPanel?

Cómo usar FTP