Website-Suche

rsync: Synchronisieren neuer oder geänderter Dateien unter Linux


Als Systemadministrator oder Linux-Power-User sind Sie wahrscheinlich schon mehrfach auf den vielseitigen Linux-Befehl rsync gestoßen oder haben ihn sogar mehrmals 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 Backup-Vorgänge und Spiegelungen verwendet wird.

Zu seinen herausragenden Merkmalen und Vorteilen gehören: Es ist außergewöhnlich vielseitig, da es lokal kopieren kann, zu/von einer Remote-Shell oder Remote-Rsync, es ist auch bemerkenswert flexibel und ermöglicht es Benutzern, eine beliebige Anzahl von Dateien zum Kopieren anzugeben.

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

Ein wesentlicher Unterschied von rsync im Vergleich zu anderen Datei-Coying-Befehlen in Linux ist die Verwendung des Remote-Update-Protokolls, um nur die Differenz zwischen Dateien oder Verzeichnisinhalten zu übertragen.

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

Zunächst müssen Sie sich daran erinnern, dass die herkömmliche und einfachste Form der Verwendung von rsync wie folgt ist:

rsync options source destination 

Lassen Sie uns jedoch in einige Beispiele eintauchen, um herauszufinden, wie das obige Konzept tatsächlich funktioniert.

Lokales Synchronisieren von Dateien mit rsync

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

rsync -av Documents/* /tmp/documents

Im obigen Befehl wird die Option:

  • -a – bedeutet Archivmodus.
  • -v – bedeutet ausführlich und zeigt Details zu laufenden Operationen an.

Standardmäßig kopiert rsync nur neue oder geänderte Dateien von einer Quelle zum Ziel, wenn ich eine neue Datei in mein Dokumentenverzeichnis hinzufüge, passiert Folgendes, nachdem ich denselben Befehl ein zweites Mal ausgeführt habe:

rsync -av Documents/* /tmp/documents

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

Die Option --update oder -u ermöglicht es rsync, Dateien zu überspringen, die noch neu im Zielverzeichnis sind, und eine wichtige Option, --dry-run oder -n, ermöglicht es uns, eine Testoperation auszuführen, ohne Änderungen vorzunehmen. Es zeigt uns, welche Dateien kopiert werden sollen.

rsync -aunv Documents/* /tmp/documents

Nach dem Ausführen eines Testlaufs können wir dann das -n weglassen und eine echte Operation durchführen:

rsync -auv Documents/* /tmp/documents

Synchronisieren von Dateien vom lokalen mit dem 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 Rechner zu synchronisieren, die auf dem entfernten Rechner nicht vorhanden sind, können wir die Option --ignore-existing einfügen:

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

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

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

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

Sie können die rsync-Seite von man durchgehen, um zusätzliche nützliche Optionen für die fortgeschrittene Nutzung zu entdecken, wie ich bereits erwähnt hatte, ist rsync ein sehr leistungsfähiges und vielseitiges Linux-Tool, und viele Systemadministratoren und Linux-Power-User wissen, wie vorteilhaft es ist.

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

Verwandte Artikel: