El comando Rsync Linux transfiere y sincroniza archivos o directorios de manera eficiente entre una máquina local, otro host, un shell remoto o cualquier combinación de estos tres.

Cualquiera que trabaje con un sistema Linux debería utilizar esta poderosa utilidad para mejorar su productividad. Y con la ayuda de este artículo, aprenderá todo lo que necesita saber para comenzar.

Sincronizar carpetas o copiar archivos manualmente puede llevar mucho tiempo. La utilidad de Rsync puede hacer la mayor parte del trabajo agregando excelentes funciones para ahorrar tiempo.

Incluso si pierde la conexión durante la transferencia, esta herramienta comenzará exactamente donde la dejó, una vez que se establezca la conexión.

¡Alojamiento VPS Cloud con la más alta confiabilidad y rendimiento de servidor virtual! ¡Servidores verdaderamente virtuales creados para ser rápidos!

Haga clic aquí

Sintaxis básica

La sintaxis básica de Rsync funciona así:

rsync [modifcadores opcionais] [SRC] [DEST]

Hay algunas formas diferentes de usar Rsync Linux. En este ejemplo, [modificadores opcionais] indicar las acciones a realizar, [SRC] es el directorio de origen y [DEST] es la máquina o directorio de destino.

Sintaxis básica para el Shell remoto

Cuando se usa un shell remoto, como SSH o RSH, la sintaxis de rsync será ligeramente diferente.

Para acceder al shell remoto (HALAR), use el siguiente comando rsync:

rsync [modificadores opcionais] [USUÁRIO@]HOST:SRC [DEST]

Para acceder al shell remoto (EMPUJAR), use este comando rsync:

rsync [modificadores opcionais] SRC [USUÁRIO@]HOST:[DEST]

Cómo comprobar la versión de Rsync

Antes de verificar Rsync, debemos iniciar sesión en el servidor VPS que usaremos. Este tutorial le mostrará cómo hacer esto en una máquina con Windows usando Putty SSH. Si está utilizando una computadora MacOS o Linux, simplemente use la terminal.

Rsync viene preinstalado con muchas distribuciones de Linux. Para verificar que Rsync esté instalado en su máquina, ejecute el siguiente comando:

rsync -version

En nuestra distribución de Ubuntu, el comando producirá el siguiente resultado:

rsync  version 3.1.3  protocol version 31

Esto significa que rsync versión 3.1.3 ya está en nuestra máquina. Simple, ¿no crees?

Como Instalar Rsync

Si no tiene Rsync preinstalado en su máquina, ¡puede hacerlo manualmente en solo un minuto! En distribuciones basadas en Debian como Ubuntu, puede usar los siguientes comandos:

apt-get install rsync

En distribuciones basadas en rpm como Fedora y CentOS, use los siguientes comandos:

yum install rsync

En el Mac OS, use el siguiente comando:

brew install rsync

¡Es esto! Linux Rsync está listo para sincronizar datos, realizar transferencias de archivos y eliminar archivos. Puede verificar que la instalación se haya realizado correctamente con el siguiente comando:

rsync -version

Cómo ejecutar comandos Rsync

Para este tutorial, creamos dos directorios en nuestro escritorio Linux con los nombres original ydduplicar. El directorio original tiene 3 archivos mientras que el duplicado está vacío. Ahora veamos cómo Rsync creará nuevas formas de aumentar la productividad.

Para crear dos directorios de prueba, use los siguientes comandos:

cd ~
mkdir original
mkdir duplicate
touch original/file{1..3}

Si desea verificar nuevamente, use el comando ls para listar todos los archivos dentro del directorio:

ls original

La salida mostrará algo como esto:

file1
file2
file3

Si usa el comando ls con un directorio duplicado, la salida debe estar vacía.

Ahora que los directorios están configurados, echemos un vistazo a algunos otros comandos.

El siguiente comando copiará o sincronizará todos los archivos ubicados en el directorio original al directorio doble.

rsync original/* duplicate/

* indica al comando Rsync que sincronice todo en el directorio original con el duplicado.

Si encontramos una nueva imagen o archivo en la carpeta original y ejecutamos el mismo comando nuevamente, solo la nueva imagen se copiará al destino.

Esta función es muy útil cuando copia archivos a través de una red con un límite de ancho de banda.

Comandos Rsync más comunes

Aquí hay una lista de los comandos más comunes que se usan con rsync:

Esto habilita el modo de archivo.

-a, --archive

Esto le brinda una salida visual que muestra el progreso del proceso.

-v, --verbose

El siguiente muestra el salida en un formato legible por humanos.

-h, --human-readable format

Éste comprime los datos de los archivos durante la transferencia.

-z, --compress

Finalmente, copia los datos de forma recursiva.

-r

Cómo utilizar comandos Rsync con subdirectorios

Tenga en cuenta que este comando solo copia archivos del directorio principal de la carpeta Original, pero no de los subdirectorios.

Si también desea copiar los subdirectorios, use este comando:

rsync -r original/ duplicate/

La opción -r (-recursivo) le dice a Rsync que copie todo incluyendo subdirectorios y los archivos originales de nuestra carpeta original.

El modificador / usado después original guía rsync a Copiar el contenido del directorio original a la carpeta duplicada.

Cómo sincronizar archivos

Si tu quieres sincronizar archivos, copie los archivos que deberían estar en la carpeta de destino, pero que no están en el original, a la carpeta original, use el siguiente comando:

rsync -r original duplicate/

Con este comando podemos garantizar que tanto el original como el duplicado contienen los mismos archivos.

Cómo combinar comandos Rsync

Otra opción útil es -a (-archivo). Medio archivo y puede servir con muchos otros comandos. Significa que no solo copia los archivos, también copia permisos, cambios de hora y otros datos.

Añadiendo la opción -Los como -v, tendrías algo similar a esto:

rsync -av --dry-run  Original/ Duplicate/

No se preocupe, parece un poco complicado. Nosotros resolveremos esto.

Este comando mostrará solo los archivos que se copiarán sin ningún cambio. Con este comando, puede tener una lista de archivos para copiar.

Si todos los archivos son los archivos que desea copiar, ejecute el comando sin —secar.

—Funcionamiento en seco (o -norte) hace que Rsync ejecute una prueba que no cambia nada.

Otras opciones para los comandos Rsync

LOS -v que se agrega a -Los para crear -AV al mando aumenta la verbosidad. Así es como debería verse:

rsync -av original/ duplicate/

Si desea sincronizar dos carpetas, pero eliminar elementos duplicados que no están presentes en la carpeta original, agregue -Eliminar, como a continuación:

rsync -av --delete  original/ duplicate/

Tú también puedes Eliminar archivos o subdirectorios específicos al sincronizar dos carpetas. Haz esto agregando -excluir =. Si necesita especificar más de un archivo, sepárelos con una coma.

rsync -av --exclude=file1,file2  original/ duplicate/

Tú también puedes incluir archivos o subdirectorios al sincronizar. Haz esto agregando -incluir =. También puede hacer esto con la opción -exclude =. El siguiente ejemplo incluirá archivos que comiencen con la letra L y excluir otros tipos de archivos:

rsync -av --include=L* --exclude=*  original/ duplicate/

Usa la opción -z (-comprimir) consolidará los archivos que se están transfiriendo a través de la red. Como beneficio adicional, veamos cómo transferir desde el servidor de origen a otro. El comando se verá así:

rsync -za ~/Desktop/Original edward@192.168.22.90:~/tmp/

Como se mencionó anteriormente, -z comprimir los archivos, -Los, o agregando los a -z, se asegurará de que también se copien todos los permisos.

~ / Escritorio / Original es el origen. Es un directorio local, aquel en el que está registrada su máquina y, por último, edward@192.168.22.90: ~ / tmp / indica el destino. edward@192.168.22.90 es el destino que elimina la dirección del servidor, mientras que:~ / tmp / lo dirige a una carpeta específica en la máquina.

Cómo agregar una barra de progreso

Además de los comandos anteriores, puede agregar -PAGS, que combinará las opciones -Progreso y -parcial. Esto le dará una barra de progreso para los archivos que se están transfiriendo y también le permitirá continuar con cualquier transferencia que haya sido interrumpida.

rsync -azP [SRC] [DEST]

La salida se verá así:

sending incremental file list
./
file1
         0 100%    0.00kB/s   0:00:00   (xfer#1, to-check=1/3)
file2
         0 100%    0.00kB/s   0:00:00   (xfer#2, to-check=2/3)
file3
         0 100%    0.00kB/s   0:00:00   (xfer#3, to-check=3/3)

Entonces, si ejecutamos el comando nuevamente, veremos una salida más corta. Esto se debe a que no se han realizado nuevos cambios. La salida se verá así:

sending incremental file list
send 26 bytes received 5 bytes 1200.00 bytes/sec
total size is 0 speedup is 0.00

Si solo desea transferir ciertos archivos, puede especificarlo con el siguiente comando:

touch original/file{1..5}
rsync -azP [SRC] [DEST]

Esto generará un resultado similar al comando anterior, pero solo con los archivos especificados entre corchetes.

Cómo crear una copia de seguridad Rsync

Otro comando importante es crear una copia de seguridad de Rsync. Haz esto combinando -apoyo con el comando -dir para que pueda especificar dónde se almacenarán los archivos de respaldo.

rsync -a --delete --backup --backup-dir=/path/to/backup /path/to/SRC [DEST]

abstracto

¡Eso es todo, y solo mostramos la punta del iceberg! Linux Rsync es una utilidad increíblemente poderosa que todo administrador de servidor o desarrollador de Linux debe conocer.

Te presentamos todo para que comiences, desde la instalación hasta los comandos básicos. Si desea conocer las funciones más avanzadas, vaya a documentación oficial!

¡Prepárate para mejorar tu productividad y buena suerte con tu proyecto!