106 votes

Exécuter rsync en suivant des liens symatiques

J'ai un répertoire qui contient des liens symboliques vers d'autres répertoires situés sur différents supports de mon système :

/opt/lun1/2011
/opt/lun1/2010
/opt/lun2/2009
/opt/lun2/2008
/opt/lun3/2007

Mais les liens symboliques apparaissent comme :

/files/2011
/files/2010
/files/2009
/files/2008
/files/2007

Comment puis-je effectuer un rsync qui suit les liens symboliques ?

Par exemple :

rsync -XXX /files/ user@server:/files/

143voto

MadHatter Points 77602

El -L à rsync synchronisera le contenu des fichiers ou des répertoires liés, plutôt que le lien symbolique.

36voto

HongboZhu Points 301

Vous devez les deux -L y -K si vous avez des liens symboliques des deux côtés, par exemple si vous avez déjà effectué votre 1er rsync et que vous voulez mettre à jour la sauvegarde en utilisant rsync.

    -L, --copy-links            transform symlink into referent file/dir
    -K, --keep-dirlinks         treat symlinked dir on receiver as dir

Dans ce cas, si vous utilisez uniquement -L les liens symboliques du côté du récepteur seront effacés et de nouveaux liens réels seront créés.

22voto

Jmeyering Points 331

Je viens de rencontrer ce problème. Et si vous voulez que rsync traite les répertoires symlinkés comme des répertoires, vous devez utiliser l'option K option

rsync -K /files/ user@server:/files/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X