GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo enviar y descargar archivos usando Rsync

Rsync significa "sincronización remota". Rsync es la herramienta más robusta, versátil y flexible para transferir archivos si se compara con otras alternativas como SCP. Es una gran herramienta para las operaciones diarias del servidor, como la copia de seguridad y la restauración, y las operaciones generales de archivos entre dos o más máquinas locales y remotas. En este artículo, le mostraremos cómo enviar y descargar archivos usando rsync.

1. Sintaxis de Rsync

La siguiente sintaxis es probablemente la forma más común del comando rsync que verá.

# rsync [options] /source /destination

Estas son las opciones más utilizadas

-v, --verbose increase verbosity, provide more information about what the command is doing
-q, --quiet suppress non-error messages
-c, --checksum skip based on checksum, not mod-time and size
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-r, --recursive recurse into directories
-u, --update skip files that are newer on the receiver
-d, --dirs transfer directories without recursing
-p, --perms preserve permissions
-E, --executability preserve executability
-A, --acls preserve ACLs (implies -p)
-X, --xattrs preserve extended attributes
-o, --owner preserve owner (super-user only)
-g, --group preserve group
-D same as --devices --specials
-t, --times preserve modification times
-S, --sparse handle sparse files efficiently
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-B, --block-size=SIZE force a fixed checksum block-size
-e, --rsh=COMMAND specify the remote shell to use
-P same as --partial --progress

Por ejemplo, vamos a sincronizar archivos desde /var/www/html/ a /opt/backup/ . Para completar esto, podemos ejecutar este comando:

# rsync -Wav /var/www/html/ /opt/backup/

Desglosemos el comando de arriba hacia abajo. Las opciones son archivar (-a) , que le dice a rsync que copie los archivos de forma recursiva y que conserve la propiedad del grupo y del usuario cuando copia los archivos. Esta opción es en realidad una combinación de option (-rlptgoD) que incluye la transferencia recursiva, la transferencia de tiempos de modificación de archivos, permisos de archivos, enlaces simbólicos, etc.

Con este (-W) opción, no se utiliza el algoritmo de transferencia delta y, en su lugar, se envía todo el archivo tal cual. Este es el valor predeterminado cuando tanto el origen como el destino se especifican como rutas locales, pero solo si no hay ninguna opción de escritura por lotes en vigor.

La opción detallada (-v) le dice a rsync que imprima más información sobre lo que le está haciendo a la terminal.

2. Cómo descargar archivos usando Rsync

En el paso anterior, aprendimos cómo copiar archivos de una ubicación a otra usando rsync. Ahora, vamos a descargar archivos desde un servidor remoto usando rsync. Básicamente, el comando es el mismo, solo necesitamos reemplazar la fuente con un nombre de usuario SSH del servidor remoto porque la transferencia usará una conexión SSH.

# rsync [-options] user@SOURCE_IP_ADDRESS:/SOURCE /DESTINATION

Por ejemplo, queremos descargar o copiar un directorio de nuestro servidor en la dirección IP 1.2.3.4 a otro servidor en 5.6.7.8 . Digamos que vamos a descargar o copiar /var/www/html/ a /home/master/

Necesitamos iniciar sesión en nuestro servidor en 5.6.7.8 y ejecutar este comando.

# rsync -Wav -e 'ssh -p 7022' [email protected]:/var/www/html/ /home/master/

Como puede ver, agregamos una opción (-e). Esta opción se usa para especificar el shell remoto a usar y a qué puerto nos vamos a conectar. Dado que el SSH en el servidor remoto está escuchando en el puerto 7022, podemos agregarlo como 'ssh -p 7022'. Si el puerto SSH del servidor remoto es el puerto predeterminado 22, simplemente puede usar '-e ssh' como opción en la sintaxis del comando rsync.

El último, preste atención a la barra diagonal final en la fuente (/var/www/html/ ). Si desea descargar o copiar SOLO el contenido del directorio html sin el directorio html en sí, no olvide agregar una barra inclinada final. Si no agrega una barra diagonal final, el comando copiará el directorio html y su contenido.

3. Cómo enviar archivos usando Rsync

Esta vez, el destino será un sistema remoto mientras que la fuente es local, por lo que se considera que envía archivos. Puede especificar una cuenta de usuario remota si es diferente a la que usa para enviar los archivos usando rsync. Entonces dicha cuenta de usuario debe tener permiso por escrito en el servidor remoto.

El comando se verá así

# rsync [-options] /SOURCE user@DESTINATION_IP_ADDRESS:/DESTINATION
# rsync -Wav -e 'ssh -p 7022' /home/master/ [email protected]:/var/www/html/

Por supuesto, la cuenta de usuario a la que hace referencia en el servidor remoto deberá tener los permisos correctos para escribir en el directorio de destino.

Eso es todo. Ha aprendido a enviar y descargar archivos usando rsync. Para obtener más información sobre las opciones disponibles, puede ejecutar man rsync desde su terminal. El comando le mostrará el manual de rsync.

Por supuesto, no es necesario que envíe y descargue archivos usando rsync si usa uno de nuestros servicios de hospedaje VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que envíen y descarguen archivos usando rsync por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si te gustó esta publicación sobre cómo enviar y descargar archivos usando rsync, compártela con tus amigos en las redes sociales usando los botones a continuación o simplemente deja una respuesta en la sección de comentarios. Gracias.


Cent OS
  1. Cómo cifrar y descifrar archivos y directorios utilizando Tar y OpenSSL

  2. Cómo cargar o descargar archivos/directorios usando sFTP en Linux

  3. Cómo descargar y cargar archivos a través de SSH

  4. Usando rsync para sincronizar archivos

  5. ¿Cómo descargar un directorio completo y subdirectorios usando wget?

Cómo sincronizar archivos y directorios usando Zaloha.sh

Cómo organizar y modificar archivos PDF usando PDF Arranger

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux

Cómo descargar archivos en Debian usando curl y wget en la línea de comandos

Cómo instalar LFTP para descargar y cargar archivos en Linux

Cómo eliminar archivos y directorios usando la línea de comandos de Linux