Esegui rsync seguendo i collegamenti sym


67

Ho una directory che contiene collegamenti simbolici ad altre directory situate su supporti diversi sul mio sistema:

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

Ma i collegamenti simbolici si presentano come:

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

Come posso eseguire un rsyncche segue i collegamenti simbolici?

per esempio:

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

Risposte:


98

Il -Lflag su rsync sincronizzerà il contenuto di file o directory collegati, anziché il collegamento simbolico.


1
Quando lo faccio, tutti i collegamenti simbolici del destinatario vengono eliminati e il mio mittente inizia a inviare nuovamente i file.
ensnare il

Non è quello che vuoi? Pensavo volessi avere i file reali sul lato ricevente, non solo i collegamenti simbolici. Vuoi dire che vuoi che i collegamenti simbolici vengano copiati come collegamenti simbolici, ma riscritti automagicamente per puntare al posto "giusto" sul sistema ricevente? Se è così, non è quello che normalmente si intende con "una sincronizzazione che segue i collegamenti simbolici".
MadHatter

4
Ciao, queste sono directory. Ho capito che funziona con la bandiera -K.
ensnare il

4
Sono sicuro che SO mi sta rendendo più stupido ..
John Hunt,

4
Per chiarire, -LKse si desidera seguire sia i file con collegamenti simbolici sia le directory
Mahn,

17

Ho appena riscontrato questo problema. E se vuoi che rsync tratti le directory con link simbolici come directory, vuoi l' Kopzione

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


Potresti anche voler aggiungere l'opzione --copy-unsafe-links
Gregory Magarshak

2

Hai bisogno di entrambi -L e -Kse hai collegamenti simbolici su entrambi i lati, ad esempio hai già fatto la tua prima rsync e vuoi aggiornare il backup usando rsync.

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

In tali casi, se si utilizza solo -L, i collegamenti simbolici sul lato del ricevitore verranno cancellati e verrà creata una nuova directory reale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.