Website-Suche

So verwenden Sie Rsync zum Synchronisieren neuer oder geänderter Dateien unter Linux


Als Systemadministrator oder Linux-Power-User sind Sie wahrscheinlich schon einmal auf das vielseitige Linux-Rsync-Tool gestoßen oder haben es sogar schon mehrfach verwendet, mit dem Benutzer Dateien schnell lokal und remote kopieren oder synchronisieren können. Es ist auch ein großartiges Tool, das häufig für Sicherungsvorgänge und Spiegelungen verwendet wird.

Zu seinen herausragenden Merkmalen und Vorteilen gehören: Es ist außergewöhnlich vielseitig, da es lokal, zu/von einer Remote-Shell oder Remote-Rsync kopieren kann. Außerdem ist es bemerkenswert flexibel, da Benutzer eine beliebige Anzahl von Dateien zum Kopieren angeben können.

Empfohlene Lektüre: 10 praktische Beispiele für den Rsync-Befehl unter Linux

Darüber hinaus ermöglicht es das Kopieren von Links, Geräten, Datei- oder Verzeichnisbesitzern, Gruppen und Berechtigungen. Es unterstützt auch die Nutzung ohne Root-Rechte und vieles mehr.

Ein wesentlicher Unterschied von rsync im Vergleich zu anderen Befehlen zur Dateisperre unter Linux ist die Verwendung des Remote-Update-Protokolls, um nur den Unterschied zwischen Dateien oder Verzeichnisinhalten zu übertragen.

Daher werden wir in diesem Artikel untersuchen, wie rsync uns dabei helfen kann, nur neue oder geänderte Dateien oder Verzeichnisinhalte zu synchronisieren, während wir Backups und darüber hinaus unter Linux erstellen.

Zunächst müssen Sie bedenken, dass die herkömmliche und einfachste Form der Verwendung von rsync wie folgt lautet:

rsync options source destination 

Lassen Sie uns dennoch auf einige Beispiele eingehen, um herauszufinden, wie das obige Konzept tatsächlich funktioniert.

Dateien lokal mit Rsync synchronisieren

Mit dem folgenden Befehl können Sie Dateien lokal aus meinem Verzeichnis Dokumente in das Verzeichnis /tmp/documents kopieren:

rsync -av Documents/* /tmp/documents

Im obigen Befehl die Option:

  1. -a – bedeutet Archivmodus
  2. -v – bedeutet ausführlich und zeigt Details laufender Vorgänge an

Standardmäßig kopiert rsync nur neue oder geänderte Dateien von einer Quelle zum Ziel. Wenn ich eine neue Datei zu meinem Verzeichnis Dokumente hinzufüge, geschieht dies, nachdem ich denselben Befehl ausgeführt habe ein zweites Mal:

rsync -av Documents/* /tmp/documents

Wie Sie an der Ausgabe des Befehls beobachten und erkennen können, wird nur die neue Datei in das Zielverzeichnis kopiert.

Empfohlene Lektüre: So synchronisieren Sie zwei Apache-Webserver/Websites mit Rsync

Mit der Option --update oder -u kann rsync Dateien überspringen, die im Zielverzeichnis noch neu sind, und eine wichtige Option, --dry-run oder -n ermöglicht es uns, einen Testvorgang durchzuführen, ohne Änderungen vorzunehmen. Es zeigt uns, welche Dateien kopiert werden sollen.

rsync -aunv Documents/* /tmp/documents

Nachdem wir einen Testlauf ausgeführt haben, können wir dann auf -n verzichten und eine echte Operation durchführen:

rsync -auv Documents/* /tmp/documents

Synchronisieren von Dateien vom lokalen zum Remote-Linux

Im folgenden Beispiel kopiere ich Dateien von meinem lokalen Computer auf einen Remote-Server mit der IP-Adresse – 10.42.1.5. Um nur neue Dateien auf dem lokalen Computer zu synchronisieren, die auf dem Remote-Computer nicht vorhanden sind, können wir die Option --ignore-existing einschließen:

rsync -av --ignore-existing Documents/* [email :~/all/

Anschließend können wir vor dem Kopieren der Dateien wie folgt einen Probelauf durchführen, um nur aktualisierte oder geänderte Dateien auf dem Remote-Computer zu synchronisieren, die sich auf dem lokalen Computer geändert haben:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Um vorhandene Dateien zu aktualisieren und die Erstellung neuer Dateien am Ziel zu verhindern, verwenden wir die Option --existing.

Sie können die Seite man rsync durchgehen, um weitere nützliche Optionen für die erweiterte Verwendung zu entdecken. Wie ich bereits erwähnt habe, ist rsync ein sehr leistungsfähiges und vielseitiges Linux-Tool und viele System Administratoren und Linux-Power-User wissen, wie vorteilhaft es ist.

Am wichtigsten ist, dass Sie uns auch Ihre Meinung zu den hier behandelten Beispielen mitteilen oder uns, noch besser, über den Kommentarbereich unten wertvolle Tipps zur Verwendung dieses wichtigen Befehlszeilentools geben können.