In diesem Blogartikel möchte ich dir einen umfassenden Überblick über den rsync Befehl geben. Wenn du Daten synchronisieren oder Backups erstellen möchtest, ist rsync ein unverzichtbares Werkzeug. Ich werde dir die verschiedenen Optionen (auch Optionen genannt), die rsync bietet, detailliert erklären.
Grundlegende Syntax
Die grundlegende Syntax von rsync sieht wie folgt aus:
rsync [OPTIONEN] QUELLE ZIEL
Die QUELLE ist der originale Speicherort der Daten, die du synchronisieren möchtest, und das ZIEL ist der Speicherort, an den die Daten kopiert werden sollen. Hier sind die wichtigsten Optionen, die du mit rsync nutzen kannst:
Wichtige Optionen im Überblick
-a
– Archivmodus: Gleichwertig mit -rlptgoD. Erhalte Rechteeigenschaften und Zeichen von Dateien.-v
– Verbose: Zeigt detailliertere Informationen während des Kopierens an.-z
– Komprimieren: Komprimiert die Daten während der Übertragung.--delete
– Löschen: Löscht Dateien im Ziel, wenn sie in der Quelle gelöscht wurden.--progress
– Fortschritt: Zeigt den Fortschritt der Datenübertragung an.--dry-run
– Trockener Lauf: Zeigt, was rsync tun würde, ohne tatsächlich Daten zu übertragen.-r
– Rekursiv: Kopiert Verzeichnisse und deren Inhalt rekursiv.-l
– Links behalten: Behalte symbolische Links bei.-p
– Berechtigungen erhalten: Behalte Dateiberechtigungen bei.-t
– Zeitstempel erhalten: Behalte Dateizeiten bei.-g
– Gruppen erhalten: Behalte Gruppenzuordnungen bei.-o
– Besitzer erhalten: Behalte Dateibesitzer bei.
Erweiterte Optionen
Neben den grundlegenden Optionen bietet rsync auch erweiterte Funktionen, um spezielle Anforderungen zu erfüllen:
--bwlimit=RATE
– Bandbreitenbeschränkung: Begrenzt die übertragene Datenmenge pro Sekunde.--exclude=PATTERN
– Ausschließen: Schließt Dateien und Verzeichnisse aus, die einem bestimmten Muster entsprechen.--include=PATTERN
– Einschließen: Schließt nur Dateien und Verzeichnisse ein, die einem bestimmten Muster entsprechen.--partial
– Teilweise: Behält unvollständige Übertragungen bei und setzt sie fort.--link-dest=DIR
– Linkziel: Verknüpft Dateien im Zielverzeichnis mit vorherigen Sicherungen, um Speicherplatz zu sparen.-P
– Fortschritt und teilweise: Gleichwertig mit –partial –progress.-e SSH
– SSH: Verwendet das SSH-Protokoll zur Datenübertragung.--chmod=CHMOD
– Dateirechte ändern: Änderungen der Dateiberechtigungen im Zielverzeichnis.--update
– Aktualisieren: Überspringt Dateien, die im Zielverzeichnis neuer sind.
Beispielbefehle
Um die Nutzung der rsync-Optionen besser zu verstehen, folgen hier einige praktische Beispiele:
# Kopieren eines Verzeichnisses mit allen Unterverzeichnissen und Dateien
rsync -av /quelle/pfad/ /ziel/pfad/
# Synchronisieren und Dateien im Ziel löschen, die fehlen
rsync -av --delete /quelle/pfad/ /ziel/pfad/
# Übertragung mit Fortschritt und Komprimierung
rsync -avz --progress /quelle/pfad/ /ziel/pfad/
# Übertragung über SSH mit Bandbreitenbeschränkung
rsync -avz -e ssh --bwlimit=500 /quelle/pfad/ benutzer@zielserver:/ziel/pfad/
Fazit
Der rsync Befehl ist ein mächtiges Werkzeug zur Synchronisierung und Sicherung von Daten. Durch die Verwendung der verschiedenen Optionen kannst du deine Datenübertragung präzise steuern und optimieren. Probiere die oben genannten Befehle und Optionen aus, um das Beste aus rsync herauszuholen.