RSYNC es una herramienta increíblemente útil utilizada en sistemas Unix y Linux para sincronizar archivos y directorios de un lugar a otro. Una de las principales ventajas de RSYNC es su capacidad para copiar solo los archivos que han cambiado, lo cual ahorra una gran cantidad de tiempo y recursos.
Si quieres usar RSYNC para copiar solo los archivos que ya existen en el directorio de destino, puedes hacerlo utilizando la opción —existing de RSYNC. Esta opción instruirá a RSYNC para que ignore los archivos que no existen en el directorio de destino.
Aquí te dejo un ejemplo del uso de esta opción:
```
rsync -av —existing source_directory/ destination_directory/
```
En este comando:
- -a (archive) asegura que los permisos de archivos, fechas, enlaces simbólicos y otros datos se conserven,
- -v (verbose) hace que el proceso sea más hablador, es decir, muestre más detalles acerca de qué está haciendo, y
- —existing le dice a rsync que solo sincronice archivos que existan ya en destino.
Por tanto, usando este comando, RSYNC copiaría el contenido de source_directory al destination_directory, pero solo si los archivos ya existen en destination_directory.
Sin embargo, debes tener en cuenta que este comando no eliminará ningún archivo del directorio de destino que no exista en el directorio de origen. Solo asegurará que los archivos que ya existen en el directorio de destino se mantengan actualizados con su versión correspondiente en el directorio de origen.
Uno de los usos comunes de esta opción es asegurarse de que una copia de seguridad (backup) existente se actualiza con los datos más recientes sin agregar nuevos archivos que podrían consumir espacio de almacenamiento no deseado.
Este comando se basa en el paquete RSYNC, que está disponible en la mayoría de las distribuciones Linux e incluso MacOS. Si no está instalado, normalmente puedes instalarlo con un gestor de paquetes como APT en Ubuntu (sudo apt-get install rsync) o Homebrew en MacOS (brew install rsync).
RSYNC es una herramienta altamente configurables y tiene otras muchas opciones que puedes usar para ajustar exactamente qué archivos se sincronizan y cómo. Recomiendo leer la página del manual de RSYNC (man rsync) para obtener una visión detallada de todas las opciones disponibles.
Fuente:
[1] “Rsync (Remote Sync): 10 Practical Examples of Rsync Command in Linux”. TecMint: Linux Howtos, Tutorials & Guides, 2021.
[2] rsync manpage. Man7.org, 2021.