GNU/Linux >> Linux Esercitazione >  >> Linux

rsync e collegamenti simbolici

  1. "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.

  2. Non è il comportamento che desideri perché stai interpretando erroneamente ciò che --links fa e quindi chiedendo il comportamento sbagliato (vedi risposta #1).

  3. 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


Linux
  1. C'è un modo per verificare se ci sono collegamenti simbolici che puntano a una directory?

  2. Git e collegamenti reali

  3. Slash e il comando rsync

  4. Troppi livelli di collegamenti simbolici

  5. Collegamenti simbolici /vmlinuz e /initrd.img danneggiati dopo la disinstallazione del kernel

Come creare collegamenti simbolici in Linux

Come rimuovere (eliminare) i collegamenti simbolici in Linux

Un modo semplice per elencare i collegamenti simbolici in Linux

Collegamenti simbolici veloci e lenti?

Come trovare collegamenti simbolici interrotti in Linux

Come ottenere un elenco di collegamenti simbolici su Linux