Frage rsync: Übertragen von Dateien nur in eine Richtung


Ist es möglich rsync zu verwenden, um Dateien nur in eine Richtung zu kopieren?

Angenommen, wir haben:

left/a.txt

right/a.txt

wo die Dateien anfangs identisch sind.

Wenn man dann ändert right/a.txt, dann:

rsync -avv left/ right/

wird kopieren right/a.txt auf zu left/a.txt.

Ist es möglich, rsync auf das Kopieren von nur zu beschränken? left/ zu right/ (d. h. verhindern, dass es kopiert wird right/ zu left/)


18
2017-10-18 10:51


Ursprung




Antworten:


Sie missverstehen rsync. Dieser Befehl:

rsync -avv left/ right/ 

Synchronisiert nichts von rechts nach links. Es wird, wie @atbg sagt, nur von links nach rechts synchronisiert. Rsync ist kein bidirektionaler Syncer. Es synchronisiert das Ziel mit der Quelle.

Man-Seite als Referenz: http://linux.die.net/man/1/rsync


28
2017-10-18 11:24





Es sollte sein rsync [OPTION...] SRC... [DEST] Es funktioniert also in dieser Richtung (es sei denn, Sie schalten dest und src um).

left/a.txt sollte kopiert werden right/a.txt:

$ echo 'left' > left/a.txt
$ echo 'right' > right/a.txt
$ cat left/a.txt && cat right/a.txt
left
right
$ rsync -avv left/ right/
sending incremental file list
delta-transmission disabled for local transfer or --whole-file
a.txt
total: matches=0  hash_hits=0  false_alarms=0 data=5

sent 95 bytes  received 34 bytes  258.00 bytes/sec
total size is 5  speedup is 0.04
$ cat left/a.txt && cat right/a.txt
left
left

Wenn es bestimmte Dateien gibt, die nicht von rsync eingebunden werden sollen, sehen Sie sich das an --exclude=PATTERN und --exclude-from=FILE.


4
2017-10-18 11:19



Und denk daran, im Zweifelsfall --dry-run Die Option zeigt Ihnen eine Liste der Dateien an, die übertragen, aber nicht übertragen wurden. Ich füge das zum Anfang von jedem hinzu rsync nur als Vorsichtsmaßnahme, auch wenn ich mir sicher bin, dass der Befehl korrekt ist. - slillibri
Angesichts der Verwirrung über Rsync-Betrieb ist es vielleicht wert, rsync's zu beachten --update Option, die Dateien, die neuer sind, überspringt (nicht synchronisiert) modified Zeit auf der Empfangsseite. - Richard Michael