KI-generiertes Bild

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
Achtung: Die Option --delete sorgt dafür, dass Dateien, die im Quellverzeichnis gelöscht wurden, auch im Ziel entfernt werden. Verwenden Sie diese Option daher nur, wenn das Ziel eine exakte Spiegelung der Quelle sein soll.

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.