2011-01-25 11 views
5

Al usar rsync, mi directorio fuente tiene varios archivos y directorios. Mi destino ya se ha sincronizado, por lo que refleja esos archivos y directorios.rsync usando --delete pero no desea eliminar enlaces simbólicos en el destino

Sin embargo, he creado manualmente un enlace simbólico en mi destino que no existe en mi fuente.

Necesito usar la operación --delete en rsync. ¿Hay alguna forma de que rsync no elimine el enlace simbólico?

+0

Quizás '--copy-dirlinks' te ayude si tu enlace simbólico es a un directorio , no a un archivo normal. – 9000

Respuesta

-1

¿Su punto de enlace de destino existente apunta a un directorio o archivo? Si es un directorio, puede usar --keep-dirlinks.

+0

no funciona para mí –

4

No hay ninguna opción para lograr esto de la manera que usted sugiere, pero la solución más sencilla para el problema descrito es sólo para añadir los nombres de archivo de los enlaces simbólicos a la rsync excluir patrón

like: --exclude="folder/symlinkname1" --exclude="folder/symlinkname2" 

si hay muchos enlaces simbólicos le puede mantener una lista de ellos en un archivo de patrón de exclusión este archivo puede ser autogenerado por un pequeño script o un bash one liner ...

+0

funciona. tal vez use un archivo --exclude-from con todas las exclusiones – mana

Cuestiones relacionadas