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