RSYNC es una utilidad muy popular en el mundo de Linux que se utiliza para sincronizar archivos y directorios entre diferentes ubicaciones con un número mínimo de transferencias de datos. Además de copiar archivos, RSYNC tiene la capacidad de mantener y preservar los enlaces simbólicos durante la sincronización.
Los enlaces simbólicos o softlinks, como su nombre indica, son simplemente enlaces a la ubicación real del archivo en el sistema. Ahora, quiero resaltar aquí que RSYNC tiene varias opciones que puedes usar cuando se trata de enlaces simbólicos.
Por defecto, cuando ejecutas una operación de RSYNC, tratará el enlace simbólico como un enlace simbólico y simplemente creará un nuevo enlace en el destino que apunta a la misma ubicación que el original.
Si deseas mantener los enlaces simbólicos durante la sincronización deberás utilizar la opción -l ( —links). Al usar esta opción, los enlaces simbólicos en el lado del emisor se copian como enlaces simbólicos en el lado del receptor. Ejemplo de uso:
```bash
rsync -avz —links origen/ destino/
```
Además, a veces, es posible que desees que RSYNC no solo mantenga los enlaces simbólicos, sino que también copie los archivos a los que apuntan. En ese caso, puedes usar la opción -L (—copy-links).
```bash
rsync -avz —copy-links origen/ destino/
```
También hay una opción más —safe-links que ignora los enlaces simbólicos que apuntan fuera del árbol de directorio que se está copiando.
```bash
rsync -avz —safe-links origen/ destino/
```
La documentación oficial de RSYNC proporciona información detallada sobre cómo se manejan los enlaces simbólicos y puedes referirte a ella para una comprensión más profunda [1].
Además de la documentación oficial, hay muchas otras fuentes en línea donde puedes aprender sobre el manejo de enlaces simbólicos con RSYNC, como el manual de Linux [2], y varios blogs y foros de discusión dedicados a este tema.
Fuentes:
1. Documentación oficial RSYNC: https://download.samba.org/pub/rsync/rsync.html
2. Manual de Linux. Man rsync: https://man7.org/linux/man-pages/man1/rsync.1.html