wiki:linux:datenaustausch:rsync

Linux - Dateien mit rsync synchron halten

Das Tool rsync bietet die Möglichkeit Dateien, Ordner oder auch komplette Laufwerke, lokal oder per SSH zu synchronisieren.

Der Befehl umfasst unzählige Optionen. Wir gehen hier nur mal auf die wichtigsten ein, möchtet Ihr Euch tiefer mit rsync beschäftigen, findet Ihr unter rsync –help eine Übersicht der Optionen.

Wichtig! rsync ersetzt kein Backup, da defekte oder gelöschte Daten je nach Einstellung repliziert werden.


rsync ist auf vielen Distributionen bereits vorhanden. Ansonsten kann es über die Paketquellen installiert werden

sudo apt update
sudo apt install rsync

Die Syntax von rsync

rsync <Optionen> <Quelle> <Ziel>

Option Erläuterung
-h –help Anzeigen der umfangreichen Optionen des Befehls
-a –archive ist eine Zusammenfassung der Parameter Dgloprt
-D Inhalte zu Gerätedateien werden mit kopiert
-g Gruppenrechte werden übertragen
-l Links werden mit kopiert
-o überträgt auch die Zugriffsrechte
-p behält die Zugriffsrechte
-r –recursive Synchronisiert auch alle Unterverzeichnisse mit
-t der Zeitstempel der Datei wird mit übertragen
-v –verbose Ausgabe des aktuellen Bearbeitungsstands
-u –update vorhandene Dateien werden nur aktualisiert wenn sie neueren Datums sind
-P ist eine Zusammenfassung der Optionen –partial und –progress
-n durchführen eines Testlaufs
-e –extern Auswahl der Remote Shell
–partial Setzt die Synchronisation nach Abbruch fort
–progress Zeigt den Fortschritt der Synchronisation an
–delete löscht Dateien im Zielverzeichnis die in der Quelle nicht mehr vorhanden sind

Für dieses HowTo wurde ein Beispielordner „Tortuga“ mit sieben Bildern angelegt.


Mit folgendem Befehl wird der Ordner „Port-Royal“ erstellt und der Inhalt des Ordners „Tortuga“ in diesen synchronisiert.

rsync -arvuP –delete Tortuga/ Port-Royal




Wie man in folgendem Screenshot sieht sind die Verzeichnisse jetzt synchron.



Nun wurden die beiden Bilddateien „ship1.jpg“ und „ship4.jpg“ im Ordner entfernt und die Synchronisation nochmals angestoßen. „rsync“ löscht die Dateien im Zielverzeichnis „Port-Royal“ .



Bearbeitet man die Dateien, „ship2.jpg“ und „ship5.jpg“ sind jetzt größer, werden diese bei einem erneuten Durchlauf ersetzt.



Fügt man den Parameter „-n“ hinzu wird ein Testlauf (Dry Run) angestoßen, hierbei werden jedoch keine Dateien verändert.



Möchte man eine Synchronisation zwischen unterschiedlichen Rechnern per „SSH“ ausführen, realisiert man als erstes einen Linux - Erstellen und Verteilen von SSH-Keys.

Anschließend kann die Synchronisation mit folgendem Befehl durchgeführt werden:

rsync -arvu –delete -e ssh /Tortuga user@linux42.de:/home/user/Port-Royal


Es macht natürlich keinen Sinn, die Ausführung jedes mal per Hand anzustoßen. Am besten packt man das Ganze in ein Skript und führt es via „Cronjob“ regelmäßig aus.


Mit rsync steht einem eine einfache Möglichkeit zur Verfügung Daten synchron zu halten. Wie schon oben erwähnt, ersetzt diese Möglichkeit jedoch keine Sicherung.


Wir haben die hier gezeigten Anleitung sorgfältig erstellt und in unserer Testumgebungen ausgiebig getestet.
Wer sich entschließt diese Anleitungen für sich selbst umzusetzen, führt diese auf eigene Verantwortung durch.
Der Ersteller des Artikels, sowie der Seitenbetreiber, haftet nicht für eventuelle Schäden an Hard- und/oder Software oder damit zusammenhängenden Schäden\\

2021/03/06 23:11 · rsb

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
K G D I K
 
  • wiki/linux/datenaustausch/rsync.txt
  • Zuletzt geändert: 2021/09/18 05:55
  • von rsb