Zu allen Tipps
Allgemein

Daten mit rsync unter Linux synchronisieren

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 liege…

Veröffentlicht am 17.09.2020

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/ oder rsync -r -t --progress --delete -e ssh root@server.example.com:/mnt/ncdata/ /mnt/ncdata/
Wenn rsync automatisiert 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 mittlerweile im Quellverzeichniss 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.

Eigenes IT-Problem?

Nicht jeder Fall passt in einen Tipp

Wenn es bei Ihnen komplizierter wird, übernehmen wir das gerne direkt für Sie.