Frage Was genau wird --delete-excluded für rsync tun?


Ich benutze rsync mit großer Freude für die Sicherung meiner Server, obwohl ich eine Frage über die haben --delete-excluded Parameter.

/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded     --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01

Von man rsync:

 --delete-excluded       also delete excluded files from dest dirs

Für mich, eine nicht englische native, bedeutet dies, dass rsync ausgeschlossene Verzeichnisse aus dem eigentlichen Zielverzeichnis auf dem Remote-Server löscht, also wenn ich es habe /home/backup und /home/settings In meinen Ausschluss-Ordnern wären diese Ordner tatsächlich vom Remote-Server entfernt.

Aus mehreren anderen Ressourcen scheint es, dass es die Dateien aus dem lokalen Sicherungsordner löschen wird, um Speicherplatz zu sparen. Zum Beispiel können Sie kleine Backups auf dem Server selbst erstellen und diese Daten ausschließen, so dass Sie keinen Speicherplatz verschwenden.

Für mich ist es jedoch wichtig, dass rsync seinen Job nur in einer Richtung erledigt, da die Leute sagen, dass es funktionieren soll. Ich möchte keine Risiken eingehen, wenn ich Software habe, die Dateien / Verzeichnisse auf dem Remote-Server löscht.


25
2018-06-12 13:15


Ursprung




Antworten:


Ihre Interpretation ist richtig. Wenn Sie ausgeschlossen haben, dass Dateien oder Verzeichnisse übertragen werden, entfernt delete-excluded diese von der Zielseite (dies muss nicht der "Remote-Server" sein, den Sie verwenden können) rsync von einem Server auf den lokalen Computer kopieren), wenn sie dort gefunden werden. Zum Beispiel, wenn Sie verwenden --exclude=*.o --delete-excludedWenn rsync dann auf der Zielseite Dateien findet, die auf .o enden, werden sie entfernt, unabhängig davon, ob sie im Quellverzeichnis vorhanden sind oder nicht.


30
2018-06-12 14:42



Also wird es die Verzeichnisse / Dateien von /.snapshot/hourly.0/server01 entfernen und nicht den entfernten Server? - ujjain
@chronoz Wenn Sie vom Remote-Server auf den lokalen Computer kopieren, ist das Ziel der lokale Computer. Wenn Sie vom lokalen Computer auf den Remote-Server kopieren, ist das Ziel der Remote-Server. Das Ziel ist, was hier wichtig ist. Wenn das Ziel der Remote-Server ist, werden die Dateien vom Remote-Server entfernt. - DerfK
Bestätigung hier: comentum.com/rsync.html - SDsolar
Ich habe kürzlich entdeckt, dass "--delete-excluded" vollständig äquivalent zu "--delete --delete-excluded" ist. Im obigen Beispiel werden entfernte Dateien gelöscht, die auf der Quellseite nicht vorhanden sind. - Wayne