it-swarm.com.de

Ermöglicht Rsync die Synchronisierung von Dateien auf beide Arten?

Ich habe einen Linux-Webserver mit rsync mit cygwin gesichert. Ich habe jetzt eine perfekte Kopie des Servers auf meinem Windows-Laptop. Wenn ich eine Datei auf meinem Laptop lösche oder ändere und rsync erneut mit cygwin ausführe, wird dann dieselbe Datei auf dem Server gelöscht/aktualisiert? Ich habe den Eindruck, dass wenn ich auf dem Server lösche/ändere und rsync auf meinem Laptop ausführe, die lokale Datei auf meinem Laptop gelöscht/geändert wird, aber funktioniert dies umgekehrt?

25
Dan Hastings

Rsync führt eine Einweg-Synchronisierung durch. Es liegt jedoch an Ihnen, zu entscheiden, in welche Richtung die Synchronisierung erfolgt.

Die Rsync-Befehlssyntax lautet wie folgt:

rsync [OPTION...] SRC... [DEST]

Beachten Sie, dass Sie die Synchronisierung von Quelle zu Ziel angeben. Quelle und Ziel können beliebige lokale oder entfernte Pfade sein.

Wenn Sie beispielsweise Dateien von Ihrem Server auf Ihren Laptop kopieren möchten, gehen Sie wie folgt vor:

rsync [OPTION...] <server-path> <laptop-path>

So synchronisieren Sie in die entgegengesetzte Richtung:

rsync [OPTION...] <laptop-path> <server-path>

Um Ihre Frage zu beantworten: Es hängt davon ab, wie Sie rsync ausführen.

Wenn Sie möchten, dass Dateien am Ziel gelöscht werden, müssen Sie die Option --delete Verwenden. Aber seien Sie vorsichtig damit, denn wenn Sie bei der Angabe Ihrer Quelle einen Fehler machen, werden Sie am Ende alles an Ihrem Ziel entfernen. Es ist sicherer, Ihre Synchronisierung zuerst ohne die Option --delete Zu testen. Wenn Sie mit der Funktionsweise zufrieden sind, können Sie die Option --delete Hinzufügen.

Wie von masegaloeh in den Kommentaren unten vorgeschlagen, kann die Option -n Oder --dry-run Auch zum Testen des Befehlsverhaltens von rsync verwendet werden.

29
grekasius

Ein in Python3 geschriebenes Wrapper-Tool namens bsync, das die Befehle find und rsync umschließt, vereinfacht die Aufgabe. Github-Repo: https://github.com/dooblem/bsync

Haben Sie keine Angst, wenn es auf Github läuft (d. H. Auf eine Weise, die Sie für Programmierer halten, um das Tool verwenden zu können).

1
biocyberman