Ich möchte rsync verwenden, um ...
- Löschen Sie Dateien auf der empfangenden Seite, die auch auf der sendenden Seite gelöscht wurden
- Löschen Sie keine anderen Dateien, die sich auf der Empfangsseite im Verzeichnis rsynced befinden
Nehmen wir zum Beispiel an, ich habe ein Verzeichnis local-src:
VORHER: local-src lokal enthält ...
a.txt
b.txt
c.txt
Mein Remote-Verzeichnis, das ich mit dem Inhalt von local-srcto synchronisieren möchte , wird aufgerufen remote-src.
VORHER: remote-src Enthält ...
a.txt
b.txt
c.txt
d.txt
README.md
Angenommen, ich lösche einige Dateien in local-src:
AFTER LOCAL DELETE: local-src enthält lokal ...
c.txt
Wie kann ich rsync verwenden, um sicherzustellen, dass die an der Quelle gelöschten Dateien auch am Ziel gelöscht werden, ohne jedoch andere Dateien am Ziel zu löschen? Zum Beispiel möchte ich Folgendes am Zielort haben:
AFTER LOCAL DELETE: remote-src enthält ...
c.txt
d.txt
README.md
Das heißt, a.txtund b.txtwerden auch aus der Ferne gelöscht, aber d.txtund README.txtwerden in Ruhe gelassen.
Gibt es eine Möglichkeit, dies mit rsync zu erreichen?
EDIT: Das Urteil scheint zu sein, dass dies mit rsync unmöglich sein könnte. Ich wurde gefragt, warum ich das brauche, um meinen Anwendungsfall zu veranschaulichen:
Angenommen, ich habe einen Webserver. Auf diesem Webserver habe ich eine Reihe von Verzeichnissen. Nehmen wir an, ich habe ein Verzeichnis Aund ein public_htmlVerzeichnis, aus dem meine Site bereitgestellt wird . Angenommen, ich habe einen automatisierten Prozess, der Dateien im Verzeichnis erstellt A. Ich möchte die generierten oder in das Verzeichnis aktualisierten Dateien rsync (oder mit einem anderen Tool synchronisieren) , ohne andere beliebige Dateien zu löschen, die sich möglicherweise darin befinden . Ich möchte auf keinen Fall, dass rsync meine Website versehentlich löscht.Apublic_htmlpublic_html
Wenn rsync nicht das Werkzeug für diesen Job ist, weiß jemand anderes, wie ich das tun kann?
rsyncda nicht festgestellt werden kann, welche Dateien sich bereits im Remote-Ordner befinden. Möglicherweise müssen Sie ein anderes Tool herausfinden.