rsync
Der Shell-Befehl rsync bringt den Datenbestand auf einem Zielrechner auf den Stand des Quellrechners. Dabei werden nicht nur Dateieigenschaften wie Rechte oder Eigentümer erhalten, es werden auch symbolische Links berücksichtigt und es werden bei Bedarf nur nicht bereits vorhandene Teile übertragen. Zusätzlich arbeitet das Programm mit SSH zusammen.
Beim Abgleichen von Daten auf entfernten Rechnern muss auf beiden Rechnern "rsync" installiert sein, und das möglichst in der identischen Version.
Grsync ist eine grafische Oberfläche für rsync, bietet allerdings deutlich weniger Möglichkeiten.
Syntax
"rsync" arbeitet grundsätzlich nur in eine Richtung. Nach dem Abgleich enthält das Ziel die gleichen Dateien wie die Quelle.
$ rsync [Optionen] quellverzeichnis zielverzeichnis
$ rsync -e ssh quellverzeichnis benutzer@zielrechner:zielverzeichnis/
Optionen
Option | Beschreibung |
---|---|
-a | Zusammenfassung der Parameter -Dgloprt (nur als Benutzer "root") |
-D | [device] Erhalten der Gerätedateieigenschaften (nur als Benutzer "root") |
-e ssh | Verschlüsselung mit dem Protokoll SSH. Um diesen Parameter nicht jedesmal mit angeben zu müssen kann in der Bash stattdessen die Variable "RSYNC_RSH=ssh" in die Datei ".bashrc" geschrieben werden. |
--exclude= | Gezieltes Ausklammern von Dateien vom Synchronisieren |
--exclude-from=file | Gezieltes Ausklammern von Dateien vom Synchronisieren. Die auszuschliessenden Dateien sin dabei zeilenweise in der Datei "file" abgelegt. |
-g | Erhalten der Gruppenmitgliedschaft |
-l | [link] Verweise auf andere Dateien werden mit übertragen |
-L | Verweise werden aufgelöst - anstatt der symbolischen Links werden die Links als normale Dateien ins Zielverzeichnis geschrieben. |
-n | Testlauf |
-o | [owner] Erhalten des Dateieigentümers (nur als Benutzer "root") |
-p | Erhalten der richtigen Rechte |
--partial | Falls die Datenübertragung abbricht, wird die Übertragung später an der selben Stelle fortgesetzt. |
--progress | Fortschrittsanzeige |
-r | Unterverzeichnisse werden rekursiv übertragen |
-t | [timestamp] Erhalten des Zeitstempels |
--version | Anzeige der Version von Rsync |
-z | Komprimieren der übertragenen Daten |
Verwendung
Testlauf: rsync zeigt an, was es im Ernstfall tun würde. Unterverzeichnisse, Punktdateien und symbolische links würden im konkreten Fall übergangen.
$ rsync -n quelle/* ziel/
Testlauf: rsync zeigt an, was es im Ernstfall tun würde. Punktdateien und symbolische links würden im konkreten Fall übergangen, Unterverzeichnisse (r steht für rekursiv) dagegen eingeschlossen.
$ rsync -nr quelle/* ziel/
Testlauf: rsync zeigt an, was es im Ernstfall tun würde. Punktdateien und symbolische links würden im konkreten Fall übergangen, Unterverzeichnisse dagegen eingeschlossen. Ausserdem würden Eigentümer, Rechte und Zeitstempel erhalten.
$ rsync -an quelle/* ziel/
Das Verzeichnis "quelle/unterverzeichnis" samt seinem Inhalt wird ins Verzeichnis "ziel" kopiert.
$ rsync -av quelle/unterverzeichnis ziel
Nur der Inhalt des Verzeichnises "quelle/unterverzeichnis" wird ins Verzeichnis "ziel" kopiert.
$ rsync -an quelle/unterverzeichnis/ ziel
Punktdateien und symbolische links würden im konkreten Fall übergangen, Unterverzeichnisse dagegen eingeschlossen. Ausserdem würden Eigentümer, Rechte und Zeitstempel erhalten. Alle Dateien, die auf ".bak" oder mit einer Tilde enden sind vom Abgleich ausgeschlossen.
$ rsync -a --exclude=*.bak --exclude=*~ quelle/* ziel/
Sicherung des Verzeichnisses "/home/mik" des Rechners "emu" (10.0.5.1) im Verzeichnis "/backup" des Rechners "panda" (10.0.5.5). Dabei wird Komprimierung verwendet. Der Befehl wird auf dem Rechner "emu" abgesetzt.
# rsync -abvz -e ssh --backup-dir=/backup/emu-mik-2 /home/mik/ \ root@10.0.5.5:/backup/emu-mik
Zurücksicherung der gesicherten Daten. Dabei wird Komprimierung verwendet. Der Befehl wird auf dem Rechner "emu" abgesetzt.
# rsync -avz -e ssh root@10.0.5.5:/backup/emu-mik /home/mik
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Heinlein Support | ger | Howto: Backups und Snapshots von Linux-Servern mit rsync und sshwbm | |
Linux Magazin | ger | Snapshot-Backups mit Rsyncwbm | |
Wikipedia | ger | rsyncwbm | Enzyklopädischer Artikel |