GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo transferir archivos con Rsync a través de SSH

Introducción

Rsync significa "Sincronización remota". El rsync El comando le permite transferir y sincronizar datos entre diferentes máquinas y directorios. Usando el protocolo Secure Shell (SSH), puede copiar sus archivos de forma segura a otra ubicación.

La herramienta rsync tiene muchos beneficios en comparación con otros métodos para copiar archivos. Utiliza compresión y descompresión al enviar y recibir archivos. La herramienta solo transfiere archivos nuevos o actualizados, ahorrando ancho de banda y acelerando los tiempos de transferencia.

Siga esta guía para aprender a usar rsync a través de SSH para transferir o copiar archivos.

Requisitos previos

  • Usuario con sudo o raíz privilegios
  • Acceso SSH a un servidor a través de la línea de comandos/ventana de terminal
  • Rsync instalado en la máquina local y de destino

Verificar la instalación de Rsync

Las distribuciones de Linux más recientes tienen rsync por defecto. Para verificar que su sistema tenga instalado rsync, ejecute el comando de instalación.

Para Debian y Ubuntu máquinas, use apt-get :

sudo apt-get install rsync

Si rsync ya está instalado, el resultado muestra la versión actual de la herramienta.

En basado en RPM las máquinas, como CentOS, usan:

sudo yum install rsync

Transferir archivos con Rsync sobre SSH

Antes de que pueda comenzar a transferir archivos y directorios con rsync a través de SSH, asegúrese de que puede usar SSH para conectarse a un servidor remoto. Una vez verificado, puede comenzar a hacer una copia de seguridad de sus datos. Asegúrese de que su sistema de destino tenga suficiente espacio de almacenamiento.

La sintaxis para copiar archivos a un servidor remoto a través de SSH con rsync el comando es:

rsync OPTION SourceDirectory_or_filePath [email protected]_or_name:Target

Ejemplos de comandos rsync

Siga el resto de la guía para ver los ejemplos de los casos de uso de rsync más comunes .

Transferir un archivo específico con Rsync

Para transferir un solo archivo a una máquina remota, ingrese la ruta completa del archivo de origen. Por ejemplo:

rsync ~/Dir1/source.pdf [email protected]:~/Desktop/test

Asegúrese de utilizar las comillas para los archivos que contienen espacios en el nombre. Por ejemplo:

rsync ~/Desktop/Dir1/"source pdf sample.pdf" [email protected]:~/Desktop/test

Transferir Contenidos de un Directorio con Rsync

Hay algunas opciones al sincronizar el contenido del directorio con rsync a través de SSH.
Para transferir todos los archivos de un directorio de origen a un destino en un host remoto, ingrese:

rsync ~/SourceDirectory/* [email protected]:~/Destination

El asterisco (*) indica a la herramienta que incluya todos los archivos en el directorio de origen. Los subdirectorios no transferido .

Por ejemplo:

El resultado muestra los directorios que rsync omitió durante la transferencia.

Para incluir todos los subdirectorios del directorio de origen, use -r (recursivo) o -a (archivo) opción. El -a bandera es lo que recomendamos. Esta opción se sincroniza recursivamente y mantiene todas las configuraciones de archivos y permisos. Esta vez no uses el asterisco en la ruta de origen.

rsync -a ~/Desktop/Dir1/ [email protected]:~/Desktop/test

Cuando ejecuta el comando en este formato, rsync transfiere todos los archivos y subdirectorios del directorio de origen a la ubicación de destino. De nuestro ejemplo anterior, la prueba la carpeta tendrá el contenido de Dir1 fuente cuando se complete la transferencia.

Para omitir la copia de archivos, consulte nuestra guía sobre cómo excluir archivos y directorios en la transferencia de datos mediante el comando rsync.

Comprobar el progreso de la transferencia de archivos Rsync

Para verificar el estado de las transferencias de rsync, use -P opción. Esta opción muestra los tiempos de transferencia, así como los nombres de los archivos y directorios que se sincronizan.

Si hay un problema con su conexión y la sincronización se interrumpe, -P reanuda sus transferencias.

Ejecute el comando en este formato para sincronizar recursivamente y verifique el estado de la transferencia:

rsync -aP ~/SourceDirectory/ [email protected]:~/Destination

Por ejemplo:

Si vuelve a ejecutar el mismo comando cuando no ha habido cambios en el directorio de origen, la transferencia no se produce. La razón es que rsync solo transfiere modificaciones en archivos y archivos nuevos. En este caso, la salida muestra solo la siguiente línea:

Cuando hay un cambio incluso en un archivo de origen, rsync lo detecta y lo sincroniza con el destino.

Hicimos un cambio en un archivo y volvimos a ejecutar el mismo comando:

El resultado muestra la fuente sample2 el archivo fue transferido desde que rsync detectó que modificamos el archivo.


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

  2. ¿Cómo conectar un Nexus 7 para transferir archivos?

  3. Cómo transferir archivos en Linux con SCP y Rsync

  4. Cómo configurar Rsync con SSH en UNIX/Linux (rsync sin contraseña)

  5. Cómo diferenciar directorios sobre ssh

Cómo transferir archivos con Rsync a través de SSH

Reanudar archivos parcialmente transferidos a través de SSH usando Rsync

Cómo usar el comando rsync para copiar datos localmente y a través de SSH

Copiar datos con rsync en Ubuntu

Cómo transferir archivos con Commander One

Cómo configurar una copia de seguridad con rsync en Ubuntu 18.04