GNU/Linux >> Linux Esercitazione >  >> Linux

Rsync:come trasferire i collegamenti simbolici assoluti?

Ho esaminato attentamente la manpage di rsync e diverse domande correlate qui su serverfault. Ho giocato con le opzioni -R e -L e -l, ma senza fortuna.

Ecco la domanda:quando si invia una directory da locale a remota, esiste un'opzione (o una combinazione di opzioni) che riposiziona i collegamenti simbolici relativi alla directory locale in modo che diventino relativi alla directory di destinazione sulla macchina remota?

Ecco un esempio minimo di ciò che voglio inviare:

dir locale: /home/bob/foo

/home/bob/foo/a --> /home/bob/foo/bar
/home/bob/foo/bar

ed ecco come vorrei che si concretizzasse nel

directory remota: /u/apps/foo

/u/apps/foo/a --> /u/apps/foo/bar
/u/apps/foo/bar

Ad esempio, rsync -az /home/bob/foo/ remote:/u/apps/foo/ non lo fa del tutto; finiamo con:

/u/apps/foo/a --> /home/bob/foo/bar
/u/apps/foo/bar

Sia /home/bob/foo/bar esiste o meno sulla macchina remota è irrilevante; in entrambi i casi, il risultato non è sicuramente quello di cui ho bisogno.

Risposta accettata:

Se i collegamenti sono a percorsi assoluti, no, non c'è modo di aggirarlo. Puoi aggirarlo rendendo relativi i collegamenti simbolici:

/home/bob/foo/a --> ./bar
/home/bob/foo/bar

ma potrebbe rivelarsi difficile, a seconda di come generi quei link e quanti ce ne sono.


Linux
  1. Come utilizzare il comando Linux Rsync (sincronizzazione remota).

  2. Come montare la condivisione Windows remota su Linux

  3. Come silenziare selettivamente Rsync?

  4. Come pianificare un comando Rsync?

  5. Come eseguire il processo Rsync in background

Come utilizzare SSH per connettersi a un server remoto

Come rimuovere il repository remoto Git

Come trovare collegamenti simbolici interrotti in Linux

Procedura:Amministrazione remota di FreeBSD

Come eseguire il backup dell'host Linux remoto utilizzando l'utilità rsnapshot rsync

rsync e collegamenti simbolici