GNU/Linux >> Tutoriales Linux >  >> Linux

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

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

Algunas de sus características y ventajas eminentes incluyen; es excepcionalmente versátil ya que puede copiar localmente, hacia/desde un shell remoto o un rsync remoto, también es notablemente flexible, lo que 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 junto con muchos más.

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

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

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

# rsync options source destination 

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

Sincronización de archivos localmente mediante Rsync

Usando el siguiente comando, poder copiar archivos de mis Documentos directorio a /tmp/documents directorio localmente:

$ rsync -av Documents/* /tmp/documents

En el comando anterior, la opción:

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

De forma predeterminada, rsync solo copia archivos nuevos o modificados de un origen a un destino, cuando agrego un nuevo archivo a mis Documentos directorio, 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 la salida 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

El --update o -u opción permite rsync para 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 hacer 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 desde 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 el --ignore-existing opción:

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

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

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

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

Puede ejecutar a través de man rsync página para descubrir opciones adicionales útiles para el uso avanzado, como mencioné anteriormente, rsync es una herramienta de Linux muy potente y versátil, y muchos administradores de sistemas y usuarios avanzados de Linux saben lo ventajosa que es.

Lo que es más importante, 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.


Linux
  1. Cómo encontrar archivos modificados recientes o de hoy en Linux

  2. Cómo usar Netcat para transferir archivos en Linux

  3. ¿Cómo encontrar archivos modificados en los últimos 30 días en Linux?

  4. ¿Cómo usar el comando Rsync en Linux?

  5. Cómo usar FTP en Linux para transferir archivos

Mantener los archivos y directorios de Linux sincronizados con rsync

Cómo encontrar archivos modificados en las últimas 24 horas en Linux

Cómo sincronizar archivos de dos vías usando Osync Script en Linux

Cómo usar los comandos FTP de Linux

Cómo usar PhotoRec para recuperar archivos borrados en Linux/Ubuntu

Cómo usar Rsync para copiar/sincronizar archivos entre servidores