Daten mit rsync unter Linux synchronisieren
Das Programm rsync[1] ermöglicht unter Linux die unidirektionale Daten-Synchronisation von einem Quell- zu einem Zielverzeichnis. Diese beiden Verzeichnisse können dabei auf unterschiedlichen Rechnern liegen (die Änderungen werden dann über das Netzwerk übertragen).
Beispiel: Datensynchronisation für Backup-Zwecke
Häufig wird rsync für Backup-Zwecke verwendet. Mit dem folgenden Beispiel-Kommando wird das Verzeichnis /home/ des Servers server.example.com hin zum lokalen Rechner in das Verzeichnis /mnt/server-mirror/home/ synchronisiert. Die Daten werden dabei über SSH getunnelt übertragen:
rsync -av --delete -e ssh root@server.example.com:/home/ /mnt/server-mirror/home/
Wenn rsync automatisert in einem Skript verwendet werden soll, kann die Authentifizierung etwa über einen SSH Key durchgeführt werden:
rsync -av --delete -e "ssh -i /home/user/.ssh/sshkey" root@server.example.com:/home/ /mnt/server-mirror/home/
Die gezeigten rsync Optionen haben folgende Bedeutung:
- -a (Kurzversion für --archive): gleiche Bedeutung wie -rlptgoD
- -r (Kurzversion für --recursive): Unterverzeichnisse kopieren
- -l (Kurzversion für --links): symbolische Links kopieren
- -p (Kurzversion für --perms): Rechte der Quelldatei beibehalten
- -t (Kurzversion für --times): Zeiten der Quelldatei beibehalten
- -g (Kurzversion für --group): Gruppenrechte der Quelldatei beibehalten
- -o (Kurzversion für --owner): Besitzrechte der Quelldatei beibehalten (nur als root User möglich)
- -D (Kurzversion für --devices --specials): Gerätedateien der Quelldatei beibehalten (nur als root User möglich)
- -v (Kurzversion für --verbose): zeigt während der Ausführung an welche Dateien synchronisiert werden
- --delete: entfernt Dateien im Zielverzeichnis die mittelerweile im Quellverzeichnis nicht mehr vorhanden sind
Backupversionen mit rdiff-backup erstellen
Das oben gezeigte Kommando synchronisiert die Daten zwar vom Quell- zum Zielverzeichnis. Wird allerdings z.B. irrtümlich eine Datei gelöscht und anschließend rsync ausgeführt, ist die gelöschte Datei auch im Zielverzeichnis nicht mehr vorhanden. Hier ergänzt das Backup-Tool rdiff-backup rsync optimal.
Referenzen
Weitere Informationen
- http://de.wikipedia.org/wiki/Rsync
- http://linuxwiki.de/rsync
- http://wiki.ubuntuusers.de/rsync
- http://www.linux-magazin.de/Heft-Abo/Ausgaben/2007/08/Garantiert-gleich
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|