Wie behalte ich mit rsync den vollen Pfad?

64

Wie behalte ich beim Sichern mit rsync die vollständige Verzeichnisstruktur?

Zum Beispiel ist der Remote - Server saturn , und ich mag Backup saturn ‚s / home / UDI / files / Bilder in einem lokalen Verzeichnis mit dem Namen Backup .

Ich möchte (lokal) backup / home / udi / files / pictures anstatt backup / pictures haben .

Adam Matan
quelle

Antworten:

76

Verwenden Sie die Option -Roder --relative, um den vollständigen Pfad beizubehalten.

Dentrasi
quelle
2

Ein weiterer häufig verwendeter Anwendungsfall ist, dass ein ausgewählter Teil des Verzeichnisbaums beibehalten wird /./, z. B. wenn Sie Folgendes wünschen:

backup/files/pictures

Du kannst schreiben:

rsync --relative /home/udi/./files/pictures backup

Die Magie /./sagt, rsyncwo man anfangen soll, Verzeichnisse zu erstellen.

Ciro Santilli ist ein Schauspieler
quelle
Das hat bei mir funktioniert! Ist die Magie ./ein Linux-Konstrukt oder spezifisch für Rsync? Ich versuche nur, einen Einblick in dieses Verhalten zu gewinnen.
flow2k
@ flow2k nur rsync magic, für POSIX ist es redundant.
Ciro Santilli 23 新疆. 法轮功 六四
1

Mit dem Cygwin Windows-Rsync und der Annahme, dass der Remote-Rsync auf den Stamm verweist, würde ich Folgendes tun:

rsync -vtrz --delete server::rsyncid/home/udi/files/pictures /cygdrive/d/backup/home/udi/files

Dadurch wird der Inhalt des Remote-Bilderverzeichnisses in / backup / home / udi / files / pictures abgelegt. Vermutlich wäre die Syntax unter Unix ähnlich.

JR

John Rennie
quelle
Dies ist nicht sinnvoll, da vor der Ausführung des Befehls rsync die gesamte Verzeichnishierarchie auf der lokalen Seite reproduziert werden muss.
Ludovic Kuty