-
"Copia collegamenti simbolici come collegamenti simbolici" significa esattamente ciò che dice:se rsync vede un collegamento simbolico nella directory di origine, creerà un collegamento simbolico identico nella destinazione. Nient'altro.
(Poche righe più in basso nella pagina di manuale, un diverso opzione,
--copy-links
, descrive il comportamento opposto (copiare sempre i dati) che hai descritto come indesiderabile.)Vedi anche la sezione "Collegamenti simbolici":
Se
--links
viene specificato, i collegamenti simbolici vengono ricreati con lo stesso target nella destinazione. -
Non è il comportamento che desideri perché stai interpretando erroneamente ciò che
--links
fa e quindi chiedendo il comportamento sbagliato (vedi risposta #1). -
Per impostazione predefinita, copia la destinazione esattamente.
Cioè, se il collegamento puntava a un percorso assoluto (ad es.
/home/me/projects
), continuerà a puntare allo stesso percorso; non si romperà , continuerà semplicemente a puntare a un file nella tua home directory piuttosto che a quello nel tuo backup.Nel frattempo, se il collegamento puntava a un percorso relativo (ad es.
../../projects
), sarà anche continua a puntare allo stesso percorso, ma poiché è relativo alla posizione del collegamento simbolico, anche il collegamento simbolico nel backup punterà a un file nel backup.Sfortunatamente non sembra esserci alcuna opzione per tradurre collegamenti simbolici assoluti per la loro nuova base (solo un'opzione per interromperli completamente). Per evitare problemi, dovresti cambiare i collegamenti simbolici esistenti con quelli relativi (che è generalmente una buona idea, per i collegamenti all'interno di $HOME).
@grawity ha un'ottima risposta, ma ecco uno screenshot di alcune informazioni rilevanti dalla documentazione. Ecco la formulazione esatta del -l
e -L
opzioni, ad esempio, che sembrano essere le più rilevanti in questione:
Fonte:https://linux.die.net/man/1/rsync, o man rsync
pagine di manuale su Linux.
Nota anche che -a
(--archive
) include anche l'opzione -l
opzione al suo interno, il che è fantastico, dal momento che mi piace molto usare il -l
opzione per conservare i miei collegamenti simbolici dalla fonte come collegamenti simbolici sulla destinazione. Dalle pagine man:
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
Nota, per il mio rsync
preferito comandi e istruzioni, inclusa la copia, il mirroring, la visualizzazione dei progressi totali...
...eseguendo test di prova, registrando stderr e stdout in file (separati), mostrando le statistiche, utilizzando un file di percorso di inclusione e un escludi file , ecc., vedi la mia risposta completa qui nella seconda sezione, intitolata "2. rsync Strumento da riga di comando (Linux, Windows con Cygwin) ":https://superuser.com/a/1464264/425838