El comando rsync, también conocido como sincronización remota, se usa para transferir y sincronizar archivos y directorios entre máquinas, hosts, shells remotos, etc. Es una poderosa utilidad que debes conocer si trabajas con Linux.
Aquí en LinuxAPT, veremos cómo instalar el comando rsync en su sistema Ubuntu Linux, que también se puede aplicar en otras distribuciones de Linux.
Si desea sincronizar sus archivos con el comando scp, visite:https://linuxapt.com/blog/408-top-15-scp-command-examples-in-linux
¿Por qué rsync es único?
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.
Para ver más de las opciones disponibles en rsync, use:
$ rsync –help
¿Cómo instalar rsync en su sistema Ubuntu Linux?
Para instalar rsync, debe ejecutar el siguiente comando en su sistema:
$ sudo apt-get install rsync
¿Cuál es la sintaxis de Rsync?
La sintaxis de rsync se proporciona a continuación.
1. Transferencia o sincronización de local a local:
$ rsync {option} {source} {destination}
2. Transferencia o sincronización local a remota:
$ rsync {option} {source} {user@host:destination}
3. Transferencia o sincronización remota a local:
$ rsync {option} {user@host:destination} {destination}
Aquí,
- Source es el directorio de origen.
- Destino es el directorio de destino.
- Opción son las opciones del comando rsync.
- Usuario es el nombre de usuario remoto.
- Host es la IP o nombre de host remoto.
¿Cómo usar rsync?
1. Copie archivos localmente
Para copiar archivos localmente, use:
$ rsync –a {filename} {destination}
Aquí, 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
Verá que el "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 nuestro caso, copiaremos "source.zip" nuevamente, pero esta vez, cámbiele el nombre a "destination.zip".
"destination.zip" se ha copiado en el directorio Documentos.
2. Copie 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}
Ahora verá que el contenido del directorio "Origen" se copia en el directorio "Destino".
3. Copie todo el directorio al destino
Si solo desea copiar el contenido de su directorio al destino, use:
$ rsync –av {source} {destination}
Ahora verá que el directorio "Origen" y su contenido se copian en el directorio "Destino".
4. Mostrar progreso
Para ver el progreso, use:
$ rsync –rv –progress {source} {destination}
5. Ignorar archivos
Si desea ignorar ciertos archivos, use:
$ rsync -vr --exclude '{condition}' {source} {destination}
El directorio "Fuente" tendrá algunos archivos cuando ejecute el comando "ls".
Puede ignorar los archivos que comienzan con una "s".
6. Lista de archivos y directorios
rsync se puede usar para enumerar el contenido de una fuente:
$ rsync {filename}
Este comando listará el contenido del directorio Documentos.
7. Copie 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 username@remote IP:/destination}
Se le pedirá la contraseña de la máquina remota.
8. Copie archivos de una máquina remota a una local
Puede usar el siguiente comando como el que se usó en el ejemplo anterior:
$ rsync –a {remote source} {local username@local IP:/destination}
9. Agregue 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)
Ver 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}/
Aquí,
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
10. Limite el ancho de banda al transferir archivos
Para limitar el ancho de banda mientras transfieres archivos, usa:
$ rsync -vr --bwlimit=1000 {source}/* {destination}
¿Cómo desinstalar rsync de su Ubuntu 21.04?
Para desinstalar solo el paquete rsync podemos usar el siguiente comando:
$ sudo apt-get remove rsync
Podemos usar el siguiente comando para eliminar las configuraciones de rsync, los datos y todas sus dependencias, podemos usar el siguiente comando:
$ sudo apt-get -y autoremove --purge rsync