Daten mit rsync unter Linux synchronisieren

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

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


Foto Werner Fischer.jpg

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.


Das könnte Sie auch interessieren

DMI Hardwareinfos via sysfs auslesen
ISO Image von CD oder DVD unter Linux erstellen
LMDE umask 002 setzen