Ich habe diese Threads gelesen:
- rsync --delete --files-from = list / dest / löscht keine unerwünschten Dateien
- Fremddateien aus Zielverzeichnis über rsync löschen?
Aber soweit ich das beurteilen kann (vielleicht fehlt mir etwas), decken sie nicht die folgende Frage ab:
Wie können Sie rsync
Dateien kopieren und diejenigen auf der empfangenden Seite löschen, die auf der sendenden Seite mit Ausnahmen nicht vorhanden sind? (Entfernen Sie z. B. kein Quecksilber-Repository .hg
auf der Empfängerseite, auch wenn auf der Senderseite kein Repository vorhanden ist.)
Eine Möglichkeit?
Entlehnt von der Antwort von @Richard Holloway unten. Angenommen, ich habe die folgende Zeile:
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
Soweit ich rsync
weiß , würde in dieser Zeile alles auf dem Empfangspfad gelöscht, was auf dem Sendepfad nicht vorhanden ist, mit Ausnahme derjenigen, die mit übereinstimmen dont_delete_me
. Meine Frage ist jetzt: Würde rsync Dateien auf der empfangenden Seite behalten, die mit übereinstimmen, dont_delete_me
selbst wenn nichts auf der sendenden Seite übereinstimmt dont_delete_me
?
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
Würde das nicht dazu führen, dassrsync
alles auf dem Empfangspfad gelöscht wird, was auf dem Sendepfad nicht vorhanden ist, mit Ausnahme von Dingen, die mit übereinstimmendont_delete_me
? Wäre es am wichtigsten,rsync
die Dinge auf der empfangenden Seite auf dem gleichen Stand zu halten,dont_delete_me
selbst wenn nichts auf der sendenden Seite übereinstimmtdont_delete_me
? Wenn das der Fall ist, denke ich, ist das die einzige Leitung, die ich brauche, oder?