Frage Führen Sie rsync aus, während Sie Symlinks folgen


Ich habe ein Verzeichnis, das symbolische Links zu anderen Verzeichnissen enthält, die sich auf verschiedenen Medien auf meinem System befinden:

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

Aber die symbolischen Links erscheinen als:

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

Wie kann ich ein rsync das folgt den symbolischen links?

z.B.:

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


59
2018-03-10 16:14


Ursprung




Antworten:


Das -L flag to rsync synchronisiert den Inhalt von verknüpften Dateien oder Verzeichnissen und nicht den symbolischen Link.


85
2018-03-10 16:33



Wenn ich das mache, werden alle symbolischen Links des Empfängers gelöscht und mein Sender beginnt mit dem erneuten Senden der Dateien. - ensnare
Willst du das nicht? Ich dachte, du wolltest die echten Dateien auf der Empfangsseite haben, nicht nur die symbolischen Links. Meinst du, du willst, dass die symbolischen Links als symbolische Links kopiert werden, aber automatisch umgeschrieben werden, um auf den "richtigen" Platz auf dem empfangenden System zu zeigen? Wenn dem so ist, ist das normalerweise nicht mit "einem rsync, das den symbolischen Links folgt" gemeint. - MadHatter
Hi - das sind Verzeichnisse. Ich habe das mit der -K-Flagge arbeiten lassen. - ensnare
Ich bin mir sicher, dass SO mich dümmer macht .. - John Hunt
Zu klären, -LK wenn Sie sowohl symbolisch verknüpfte Dateien als auch Verzeichnisse verfolgen möchten - Mahn


Ich bin gerade auf dieses Problem gestoßen. Und wenn Sie möchten, dass rsync symlinked Verzeichnisse als Verzeichnisse behandelt, möchten Sie das K Möglichkeit

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


14
2018-04-10 17:17



Sie können auch die Option --copy-unsafe-links hinzufügen - Gregory Magarshak