Der Befehl rsync
rsync steht für remote synchronization protocol und ist ein schnelles und vielseitiges Tool zum Kopieren von Dateien. Es kann sowohl lokal als auch auf ein anderes System / von einem anderen System mit Hilfe des Remote-Rsync-Daemons oder eines Remote-Shell-Programms (ssh oder rsh) kopieren. Es bringt viele Optionen mit, die genutzt werden können, um jeden Aspekt seines Verhaltens zu steuern. Sein Hauptmerkmal ist der Delta-Transfer-Algorithmus, der die gesendete Datenmenge über das Netzwerk reduziert, indem nur die Unterschiede zwischen den Quelldateien und den vorhandenen Dateien im Ziel gesendet werden. Häufig wird rsync für "Backups" und "Spiegelungen" oder auch als "verbesserter Kopierbefehl" verwendet. Es steht unter der GNU General Public License (GPL).
Installation
Für die Verwendung des rsync Befehls wird ein gleichnamiges Paket benötigt. Es ist nicht auf allen Linux-/UNIX- Betriebssystemen, wie beispielsweise Debian, vorinstalliert.
Die Installation können Sie mit dem folgenden Befehl durchführen:
apt-get install rsync
Beachten Sie, dass rsync auf dem Quell- und auf dem Zielsystem installiert sein muss.
Wenn Sie näheres zur Paket- und Quellenverwaltung mit apt erfahren wollen, lesen Sie auch unseren Beitrag zu diesem Thema.
Syntax
Die allgemeine Syntax des Befehls rsync lautet:
rsync [OPTIONEN] [Quell-Verzeichnis(se)] [Ziel-Verzeichnis]
Anstelle des Platzhalters [Quell-Verzeichnis(se)] (erster Parameter) wird angegeben, aus welchem/welchen Verzeichnis(sen) gelesen werden soll.
Anstelle des Platzhalters [Ziel-Verzeichnis] (zweiter Parameter) wird angegeben, in welches Verzeichnis kopiert werden soll.
Sollte der zweite Parameter weggelassen werden, so wird als Quell-Verzeichnis das aktuelle Verzeichnis, in dem Sie sich befinden, verwendet, und der erste Parameter wird als Ziel-Verzeichnis interpretiert.
Wichtige Optionen
Der Befehl rsync bietet viele Optionen, mit denen sein Verhalten gesteuert werden kann. Die wichtigsten dieser Optionen werden nun einmal kurz erläutert.
Überblick
-u - überspringt Dateien, die im Ziel neuer sind als in der Quelle
Mit der Option -u (update) werden Dateien, die im Ziel-Verzeichnis aktueller sind als im Quell-Verzeichnis, übersprungen.
rsync -u [Quell-Verzeichnis] [Ziel-Verzeichnis]
-v - Ausführlichkeit erhöhen
Mit der Option -v (verbose) werden alle ausgeführten Schritte während des Synchronisierens ausgegeben.
rsync -v [Quell-Verzeichnis] [Ziel-Verzeichnis]
-n - Testdurchlauf
Mit der Option -n wird nur simuliert, was passieren würde.
rsync -n [Quell-Verzeichnis] [Ziel-Verzeichnis]
-z - Dateikomprimierung
Mit der Option -z werden alle Dateien während der Übertragung komprimiert.
rsync -z [Quell-Verzeichnis] [Ziel-Verzeichnis]
-c - Prüfsummen-Bildung
Mit der Option -c (checksum) werden Prüfsummen erstellt, um Dateien zwischen Quelle und Ziel zu vergleichen. Ohne diese Option würden Dateien auf Größe und Zeitstempel verglichen werden. Der Vorteil ist, dass überflüssige Kopiervorgänge (beispielsweise bei nur geänderter Änderungszeit) vermieden werden. Nachteil ist, dass der Vergleich durch das Bilden der Prüfsummen deutlich länger dauert.
rsync -c [Quell-Verzeichnis] [Ziel-Verzeichnis]
-h - wandelt Zahlen in ein für Menschen besser lesbares Format um
Mit der Option -h (human-readable) werden Kapazitätsangaben in Log-Dateien und der Ausgabe in ein für Menschen besser lesbares Format umgewandelt. Für 1000 wird K, 1000*1000 M und 1000*1000*1000 G angegeben. Wird die Option doppelt angegeben (-hh), so wird anstelle mit 1000 1024 gerechnet.
rsync -h [Quell-Verzeichnis] [Ziel-Verzeichnis]
--bwlimit - Angabe der maximalen Übertragungsrate
Mit der Option --bwlimit wird die maximal verwendete Bandbreite der Übertragungen festgelegt. Wird diese Option nicht angegeben, so nutzt rsync die gesamte verfügbare Bandbreite. Der Wert [RATE] für die maximale Übertragungsrate wird standardmäßig in KB (1024 Bytes) angegeben. Er kann aber auch beispielsweise in MB angegeben werden, indem direkt hinter dem Wert ein m gesetzt wird.
rsync --bwlimit=[RATE] [Quell-Verzeichnis] [Ziel-Verzeichnis]
-e - Auswahl der Remote-Shell
Mit der Option -e wird die von rsync verwendete Remote-Shell ausgewählt. Gewöhnlich wird dafür ssh (secure shell) verwendet (-e ssh).
rsync -e ssh [Quell-Verzeichnis] [Ziel-Verzeichnis]
--delete - Löscht Dateien im Ziel, die in der Quelle nicht mehr vorhanden sind
Mit der Option --delete werden die Dateien, die sich nicht mehr im Quell-Verzeichnis befinden, aus dem Ziel-Verzeichnis entfernt. Für eine Datensicherung ist diese Option nicht zu empfehlen.
rsync --delete [Quell-Verzeichnis] [Ziel-Verzeichnis]
-b und --backup-dir - Sicherung gelöschter und veränderter Dateien in angegebenes Verzeichnis
Mit der Option -b (backup) wird angegeben, dass gelöschte und veränderte Dateien in das mit der Option --backup-dir angegebene Backup-Verzeichnis gesichert werden.
rsync -b [Quell-Verzeichnis] [Ziel-Verzeichnis] --backup-dir=[Backup-Verzeichnis]
--stats - Ausführlicherer Bericht am Ende einer Übertragung
Mit der Option --stats wird nach einer Übertragung ein ausführlicherer Bericht ausgegeben.
rsync --stats [Quell-Verzeichnis] [Ziel-Verzeichnis]
-a - fasst mehrere Optionen zusammen
Mit der Option -a (archive) werden folgende Optionen zusammengefasst, die dafür sorgen, dass unter anderem alle Rechte und Eigentümer der Quelldateien auf dem Ziel übernommen werden. Dies wurde von den Entwicklern deshalb so gehandhabt, da es sich hier um grundsätzliche Optionen handelt, die nahezu immer zum Einsatz kommen. Sie können diese Optionen bei Bedarf auch einzeln nutzen:
-r - (recursive) kopiert Unterverzeichnisse
-l - (links) kopiert symbolische Links
-p - (perms) behält Berechtigungen der Quelldatei bei
-t - (times) behält Änderungszeiten der Quelldatei bei
-g - (group) behält Gruppenrechte der Quelldatei bei
-o - (owner) behält root-Besitzrechte der Quelldatei bei
-D - (Devices) behält root-Gerätedateien der Quelldatei bei
rsync -a [Quell-Verzeichnis] [Ziel-Verzeichnis]
--help - Hilfe
Mit der Option --help wird die Hilfeseite von rsync ausgegeben. Dies ist sehr praktisch, da sich kaum jemand alle Optionen merken kann / möchte. Außerdem sehen Sie dort weitere Optionen, die hier nicht aufgezeigt wurden.
rsync --help
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!