Zu allen Tipps
Linux

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

Mit rsync lassen sich Dateien und Verzeichnisse unter Linux effizient zwischen zwei Speicherorten synchronisieren. Die Übertragung kann sowohl lokal als auch über das Netzwerk erfolgen, beispielsweise per SSH.

Da rsync nur geänderte Daten überträgt, eignet sich das Werkzeug hervorragend für Backups, Servermigrationen oder die Spiegelung von Verzeichnissen.

Beispiel: Datensynchronisation für Backup-Zwecke

Im folgenden Beispiel wird das Verzeichnis /home/ eines Remote-Servers auf den lokalen Rechner synchronisiert.

rsync -av --delete -e ssh \
root@server.example.com:/home/ \
/mnt/server-mirror/home/

Alternativ kann beispielsweise ein Nextcloud-Datenverzeichnis synchronisiert werden:

rsync -rt --progress --delete -e ssh \
root@server.example.com:/mnt/ncdata/ \
/mnt/ncdata/

Authentifizierung per SSH-Schlüssel

Soll rsync automatisiert, beispielsweise über einen Cronjob, ausgeführt werden, empfiehlt sich die Anmeldung mittels SSH-Schlüssel.

rsync -av --delete \
-e "ssh -i /home/user/.ssh/sshkey" \
root@server.example.com:/home/ \
/mnt/server-mirror/home/

Wichtige Optionen

Option Bedeutung
-a Archivmodus (entspricht -rlptgoD)
-r Unterverzeichnisse rekursiv kopieren
-l Symbolische Links übernehmen
-p Dateiberechtigungen beibehalten
-t Zeitstempel übernehmen
-g Gruppeninformationen übernehmen
-o Besitzer übernehmen (nur als root)
-D Geräte- und Spezialdateien übernehmen (nur als root)
-v Ausführliche Ausgabe während der Synchronisation
--progress Fortschritt der Dateiübertragung anzeigen
--delete Dateien im Ziel löschen, die im Quellverzeichnis nicht mehr vorhanden sind

Versionierte Backups mit rdiff-backup

Eine reine rsync-Synchronisation eignet sich hervorragend zur Spiegelung von Daten, bietet jedoch keine Versionsverwaltung.

Wird beispielsweise versehentlich eine Datei gelöscht und anschließend rsync mit der Option --delete ausgeführt, verschwindet diese Datei auch aus dem Sicherungsverzeichnis.

Wer mehrere Dateiversionen aufbewahren oder gelöschte Dateien zu einem späteren Zeitpunkt wiederherstellen möchte, sollte stattdessen Werkzeuge wie rdiff-backup, Restic oder BorgBackup einsetzen.

Fazit

rsync zählt zu den wichtigsten Werkzeugen für die Datensynchronisation unter Linux. Durch die effiziente Übertragung ausschließlich geänderter Daten eignet es sich ideal für regelmäßige Backups und die Synchronisation von Servern. Für versionierte Datensicherungen empfiehlt sich jedoch der Einsatz eines Backup-Programms mit Versionsverwaltung.

Eigenes IT-Problem?

Nicht jeder Fall passt in einen Tipp

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