GNU/Linux >> Tutoriales Linux >  >> Linux

15 ejemplos prácticos del comando Rsync en Linux

El comando Rsync nos permite transferir y sincronizar archivos a través de una conexión SSH o una máquina local en diferentes directorios y máquinas. Si alguna vez necesita hacer una copia de seguridad de su directorio o sincronizar los datos, Rsync es una de las mejores herramientas para hacer una copia de seguridad del sistema. Usar Rsync es mucho más eficiente que simplemente copiar archivos porque Rsync solo copia lo que es diferente.

Por ejemplo, si está intentando hacer una copia de seguridad de 1000 fotos, Rsync solo elegirá aquellos archivos específicos que sean nuevos o diferentes desde la última copia de seguridad. Y también, si está copiando datos y pierde la conexión de red y vuelve a ejecutar el comando Rsync, sabrá dónde se quedó y no tendrá que empezar de nuevo.

Como administrador de sistemas de Linux, debe conocer algunos ejemplos importantes y prácticos de los comandos Rsync en Linux para que su experiencia sea más fluida.

Características de Rsync en Linux

Aquí, estoy agregando algunas características básicas de Rsync. Puede revisar los puntos proporcionados a continuación para obtener una descripción detallada del comando de sincronización remota que lo ayudará a comprender los ejemplos de los comandos Rsync en Linux.

  • El comando Rsync puede copiar archivos, directorios y subdirectorios.
  • Como Rsync usa el algoritmo de transferencia delta, la herramienta omite los archivos que ya están en la dirección de destino.
  • Rsync ignora el archivo que es exactamente igual que el cliente y los sistemas host.
  • Puede usar Rsync tanto en SSH como en una máquina local.
  • Puede ejecutar los comandos tar junto con la copia de archivos.
  • En la mayoría de los casos, Rsync no necesita sudo privilegio.
  • Puede usar los comandos de canalización junto con Rsync para transferir archivos más rápido y mantener la latencia más baja.
  • Para copiar archivos a través de la web, el Rsync utiliza el protocolo TCP.
  • Rsync puede reducir la cantidad de ancho de banda necesario.
  • No puede copiar archivos entre dos o más hosts remotos a través de Rsync en Linux.

Sintaxis de sincronización remota en Linux

Aquí, estoy agregando algunas de las sintaxis más importantes y la sinopsis de Rsync. Revisar las sintaxis y los indicadores es importante para comprender mejor los ejemplos de los comandos Rsync en Linux.

Los formatos de comando dados son para transferir archivos en la máquina local.

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

Rsync usa el formato de comando dado para transferir archivos a través de un shell remoto.

- -
Pull: rsync [OPTION...] [[email protected]]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [[email protected]]HOST:DEST

Rsync usa el formato de comando dado para transferir archivos cuando accede al host como un demonio.

Pull: rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [[email protected]]HOST::DEST
rsync [OPTION...] SRC... rsync://[[email protected]]HOST[:PORT]/DEST

Instalar Rsync en Linux

Antes de saltar a los ejemplos de comandos Rsync en Linux, debemos verificar si tenemos la herramienta instalada en el sistema o no. De forma predeterminada, Rsync viene preinstalado con todas las principales distribuciones de Linux. Por lo tanto, si encuentra que la herramienta no está instalada en su sistema, puede obtener fácilmente la herramienta Rsync en su máquina. Aquí, incluyo los comandos para que las principales distribuciones de Linux instalen Rsync.

Obtenga Rsync en Fedora y Red Hat Linux

sudo yum install rsync -y
sudo dnf install rsync -y

Instalar Rsync en Debian/Ubuntu Linux

sudo apt install rsync -y

Puede obtener la herramienta Rsync desde los comandos Snap en los sistemas Arch Linux. Ejecute los comandos mencionados a continuación respectivamente para obtener la herramienta Rsync en Arch Linux. Primero, clone el repositorio en Linux.

git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

Ahora, ejecute los comandos de control del sistema para usar los sockets. Luego ejecute el comando Ajustar para instalar la herramienta.

sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install rsync-leftyfb

Finalmente, cuando finalice la instalación, ahora puede consultar la página de ayuda de Rsync en la terminal.

$ rsync --help

Rsync en Linux

El Rsync es la forma abreviada del comando de sincronización remota. Esta herramienta Rsync está disponible tanto para Mac como para Linux. En ambos casos, las sintaxis y los estilos de comando son prácticamente iguales. Ahora, cuando decimos sincronización remota, eso no siempre significa necesariamente que necesitará sincronizar o copiar archivos a través de SSH o Internet.

También puede ejecutar Rsync en la misma máquina para sincronizar dos directorios o subdirectorios diferentes. Se ve un uso muy efectivo de Rsync en la actualización de repositorios de paquetes y servidores alternativos o espejo.

En esta publicación, veremos algunos ejemplos de los comandos Rsync más utilizados y potentes para Linux.

Ejemplos de Rsync en Linux

Estos son algunos ejemplos básicos del comando y formato Rsync en Linux. El que se proporciona a continuación es el formato de comando, y el segundo es para usar Rsync sobre SSH.

En Linux, Rsync establecerá un enlace a través de la conexión SSH cuando se ejecute en un entorno de host-cliente. Cuando el usuario remoto o el cliente acepta la conexión, el cliente Rsync activa automáticamente el Rsync en el sistema host.

Formato de comando general de Rsync

$ rsync [options] source [destination]

Formato de comando Rsync para las conexiones SSH

$ rsync local-file [email protected]:remote-file

1. Comando de sincronización remota para copiar todos los archivos en el directorio

El ejemplo mencionado a continuación del comando Rsync en Linux copiará todos los archivos de los Documentos al directorio /tmp/documents.

$ rsync -av Documents/* /tmp/documents

En este comando, hemos usado tres banderas; -a y -v, y el *. Aquí está la explicación de lo que hacen en el comando.

  • -a:el indicador -a ejecuta el comando en forma de archivo/biblioteca.
  • -v:-v blag se usa para ejecutar Rsync de forma detallada.
  • – *:el símbolo * garantiza que todos los archivos se seleccionen y copien.

Ahora, si agregamos algunos archivos nuevos al directorio original y ejecutamos Rsync nuevamente, copiará los archivos nuevos y notificará la salida verbal en el shell.

$ rsync -av Documents/* /tmp/documents

El comando mencionado a continuación nos permitirá ejecutar una prueba para saber qué archivos se sincronizarán para evitar errores.

$ rsync -aunv /home/ubuntupit/Documents/* /home/ubuntupit/Pictures/

Después de ejecutar una verificación de prueba, ahora podemos ejecutar el comando real eliminando el indicador -n en el comando.

$ rsync -auv /home/ubuntupit/Documents/* /home/ubuntupit/Pictures/

2. Ejemplo de comando Rsync a través de SSH

Hasta ahora, hemos visto algunos ejemplos de Rsync sobre cómo ejecutarlo en una máquina local. Aquí, veremos cómo ejecutarlo en los servidores. Todas las sintaxis son iguales; solo necesita ingresar la dirección del servidor web y el nombre de usuario.

$ rsync -av --ignore-existing Documents/* [email protected]:~/all/

3. Ejemplos de Rsync en Linux:ejecución en seco de Rsync

En programación, el término ejecución en seco se define como ejecutar un comando solo para ver una vista previa o una ejecución falsa para verificar qué podría suceder si ejecutamos el comando. Aquí, también podemos aplicar el comando de ejecución en seco para Rsync.

Los ejemplos del comando Rsync a continuación nos permitirán verificar qué archivos se sincronizarán en el sistema host desde el servidor Linux remoto. Más tarde, podemos ejecutar el comando sin el simulacro.

$ rsync -av --dry-run --update Documents/* [email protected]:~/all/
$ rsync -av --update Documents/* [email protected]:~/all/

4. Sincronizar archivos entre la máquina local y el servidor remoto

El comando anterior muestra cómo enviar archivos desde una máquina local a una máquina local o desde un servidor a otro host. El siguiente ejemplo de Rsync muestra cómo puede usar la herramienta para enviar archivos desde una máquina local a una máquina Linux remota.

rsync [options] [files] [remote-username]@[ip-address]:/[destination]

5. Transferir archivos desde el servidor remoto a la máquina local

Justo al revés del comando anterior, el ejemplo mencionado a continuación del comando Rsync le mostrará cómo puede enviar archivos desde el servidor Linux remoto a su máquina local.

rsync -rv [email protected]:/home/ubuntupit/Backup /home/ubuntupit/Desktop/Original

6. Mostrar progreso con Rsync

Este es muy importante para aquellos que necesitan transferir archivos grandes a través de la herramienta Rsync. Por ejemplo, el ejemplo mencionado a continuación del comando Rsync muestra cómo puede monitorear y observar el progreso de la transferencia en la CLI en Linux.

sudo rsync -rv --progress Original/* /etc/ubuntupit

Puede ejecutar el comando Rsync con el indicador '–include' para agregar un archivo específico al proceso de sincronización.

sudo rsync -vr --include 'I*' Original/ /etc/Backup/

7. Use Rsync con '–exclude' para ignorar archivos

Con Rsync, también puede usar un excluir comando para excluir cualquier archivo de su comando. El ejemplo mencionado a continuación del comando Rsync en Linux nos muestra cómo excluir un archivo que no queremos sincronizar. Aquí he excluido el archivo To_check_rsync_two (otra copia).txt para ser sincronizado a través de este comando Rsync en mi sistema Linux.

$ sudo rsync -vr --exclude 'To_check_rsync_two (another copy).txt' /home/ubuntupit/Desktop/ /home/ubuntupit/Documents/

De la misma manera, también puedes incluir un archivo si quieres incluir de forma forzosa que creas que rsync no agregará por defecto.

sudo rsync -vr --exclude '*' --include 'I*' Original/ /etc/Backup/

Para eliminar o eliminar un archivo para sincronizarlo a través del comando Rsync, puede usar el indicador -delete en el comando en el terminal.

rsync -vr --delete /etc/Backup/ [email protected]:/home/ubuntupit/Backup

8. Establecer el límite de tamaño máximo

Si está utilizando una cantidad limitada de datos de ancho de banda en una computadora y necesita pasar varios archivos, pero no sabe cuándo debe detener la transferencia para ahorrar ancho de banda, puede usar el ejemplo mencionado a continuación de Rsync Comando para limitar el tamaño máximo de transferencia de archivos.

rsync -vr --max-size='200k' /etc/Backup/ [email protected]:/home/ubuntupit/Backup

9. Eliminar archivos de origen automáticamente después de una transferencia

Si su PC host tiene un espacio de disco limitado y desea eliminar el archivo simultáneamente después de transferir el archivo a su sistema, puede usar el indicador de eliminación con el comando Rsync en el terminal de Linux.

$ rsync -vr --remove-source-files Original/* [email protected]:/home/ubuntupit/backups/

10. Sincroniza todos los archivos con Remote Sync

Hasta ahora, hemos visto que el comando Rsync solo sincroniza aquellos archivos que no han sido editados o modificados. Pero si desea sincronizar todos sus archivos modificados y no modificados, puede usar el comando Rsync de abajo.

rsync -vrW Original/* [email protected]:/home/ubuntupit/Backup

11. Detener la sincronización de archivos modificados en el destino

Después de seleccionar un sistema completo, si no desea sincronizar un archivo o una carpeta específicos, puede asignar esa ruta al comando Rsync para que la herramienta Rsync omita la ruta de sincronización.

rsync -vu Original/* [email protected]:/home/ubuntupit/Backup

12. Agregue -i Flag para monitorear la diferencia

Para ver la diferencia entre el archivo original y el archivo después de la sincronización, use un indicador i con el comando.

rsync -avzi Original/ Backup/

13. Use la sincronización remota solo para copiar la estructura del directorio

Este comando es muy interesante para los interesados ​​en copiar o transferir el archivo; ahora puede usar el comando rsync para ver la estructura del directorio a través del comando rsync.

rsync -av -f"+ */" -f"- *" /home/ubuntupit/Desktop/Original/ /home/ubuntupit/Documents/

14. Agregar sello de fecha al nombre del directorio

Para incluir una marca de tiempo en el archivo mientras lo transfiere a través de la herramienta de sincronización remota, puede usar el siguiente formato de marca en el comando para la ubicación de destino.

Destination directory: $(date +\\%Y-\\%m-\\%d)
sudo rsync -rv /home/ubuntupit/Documents/* /etc/$(date +\\%Y-\\%m-\\%d)

15. Copiar varios archivos de forma remota

Hasta ahora, hemos visto cómo copiar y transferir un solo archivo desde un servidor remoto a una máquina local o viceversa desde una PC anfitriona a la máquina local. Ahora veremos cómo podemos agregar varios archivos y transferirlos a través de un comando Rsync. Para agregar varios archivos, debemos especificar todas las rutas de archivo en el comando.

rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt /home/ubuntupit/Desktop/To_check_rsync_two.txt /home/ubuntupit/
rsync -vr /home/ubuntupit/Documents/To_check_rsync.txt /home/ubuntupit/Desktop/To_check_rsync_two.txt [email protected]:/home/ubuntupit/Backup

¡Perspectivas!

Como el comando Rsync está escrito en el lenguaje de programación C y funciona como una aplicación de un solo subproceso, esta herramienta puede comunicarse fácilmente con Kernel y otras aplicaciones. En toda la publicación, hemos visto la herramienta Rsync y ejemplos del comando Rsync en Linux para transferir archivos de manera efectiva a través de máquinas y servidores.

Incluso puede sincronizar servidores apache usando el comando Rsync con la configuración y el conocimiento adecuados. En algunos casos, el comando Rsync se puede asociar con el comando de suma de comprobación que se puede realizar tanto si el archivo se modificó como si no. Si está más interesado en Rsync, también puede probar la herramienta Rsync basada en GUI.

Compártalo con sus amigos y la comunidad de Linux si encuentra esta publicación útil e informativa. También le recomendamos que escriba sus opiniones sobre esta publicación en la sección de comentarios.


Linux
  1. Comando cp en Linux:7 ejemplos prácticos

  2. Comando de apagado de Linux:5 ejemplos prácticos

  3. Ejemplos prácticos del comando rsync en Linux

  4. 5 ejemplos prácticos del comando dd en Linux

  5. 10 ejemplos prácticos de comandos de Linux nm

12 ejemplos prácticos de In Command en Linux

5 ejemplos prácticos de Tail Command en Linux

Comando echo en Linux:7 ejemplos prácticos

Ejemplos de comandos rsync de Linux

Ejemplos prácticos de comando ping en Linux

Ejemplos de comandos id en Linux