Búsqueda de sitios web

Cómo utilizar Rsync para sincronizar archivos nuevos o modificados/modificados en Linux


Como administrador de sistemas o usuario avanzado de Linux, es posible que haya encontrado o incluso en varias ocasiones haya utilizado la versátil herramienta Linux Rsync, que permite a los usuarios copiar o sincronizar rápidamente archivos de forma local y remota. También es una gran herramienta utilizada popularmente para operaciones de copia de seguridad y duplicación.

Algunas de sus características y ventajas destacadas incluyen; es excepcionalmente versátil porque puede copiar localmente, hacia/desde un shell remoto o rsync remoto; también es notablemente flexible y permite a los usuarios especificar cualquier cantidad de archivos para copiar.

Lectura sugerida: 10 ejemplos prácticos del comando Rsync en Linux

Además, permite copiar enlaces, dispositivos, propietarios de archivos o directorios, grupos y permisos. También admite el uso sin privilegios de root y muchos más.

Una diferencia imperativa de rsync en comparación con otros comandos de copia de archivos en Linux es el uso del protocolo de actualización remota, para transferir solo la diferencia entre archivos o contenido del directorio.

Por lo tanto, en este artículo, examinaremos cómo rsync puede ayudarnos a sincronizar solo archivos o contenido de directorio nuevos o modificados mientras realizamos copias de seguridad y más en Linux.

Para empezar, debes recordar que la forma convencional y más sencilla de usar rsync es la siguiente:

rsync options source destination 

Dicho esto, analicemos algunos ejemplos para descubrir cómo funciona realmente el concepto anterior.

Sincronizar archivos localmente usando Rsync

Usando el siguiente comando, puedo copiar archivos desde mi directorio Documentos al directorio /tmp/documents localmente:

rsync -av Documents/* /tmp/documents

En el comando anterior, la opción:

  1. -a – significa modo de archivo
  2. -v – significa detallado, mostrando detalles de las operaciones en curso

De forma predeterminada, rsync solo copia archivos nuevos o modificados desde un origen al destino. Cuando agrego un nuevo archivo a mi directorio Documentos, esto es lo que sucede después de ejecutar el mismo comando. por segunda vez:

rsync -av Documents/* /tmp/documents

Como puede observar y notar en el resultado del comando, solo el nuevo archivo se copia en el directorio de destino.

Lectura sugerida: Cómo sincronizar dos servidores web/sitios web Apache usando Rsync

La opción --update o -u permite a rsync omitir archivos que aún son nuevos en el directorio de destino y una opción importante, --dry-run o -n nos permite ejecutar una operación de prueba sin realizar ningún cambio. Nos muestra qué archivos se van a copiar.

rsync -aunv Documents/* /tmp/documents

Después de ejecutar una ejecución de prueba, podemos eliminar el -n y realizar una operación real:

rsync -auv Documents/* /tmp/documents

Sincronización de archivos de Linux local a remoto

En el siguiente ejemplo, estoy copiando archivos de mi máquina local a un servidor remoto con la dirección IP: 10.42.1.5. Para sincronizar solo archivos nuevos en la máquina local, que no existen en la máquina remota, podemos incluir la opción --ignore-existing:

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

Posteriormente, para sincronizar solo archivos actualizados o modificados en la máquina remota que han cambiado en la máquina local, podemos realizar un ensayo antes de copiar archivos como se muestra a continuación:

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

Para actualizar archivos existentes y evitar la creación de nuevos archivos en el destino, utilizamos la opción --existing.

Puede ejecutar la página man rsync para descubrir opciones adicionales útiles para uso avanzado. Como mencioné anteriormente, rsync es una herramienta de Linux muy potente y versátil, y muchos sistemas Los administradores y usuarios avanzados de Linux saben lo ventajoso que es.

Lo más importante es que también puede compartir su opinión sobre los ejemplos que hemos cubierto aquí o, mejor aún, ofrecernos valiosos consejos sobre el uso de esta vital herramienta de línea de comandos a través de la sección de comentarios a continuación.