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.
Installation
rsync ist auf vielen Distributionen bereits vorhanden. Ansonsten kann es über die Paketquellen installiert werden
sudo apt update
sudo apt install rsync
Syntax
Die Syntax von rsync
rsync <Optionen> <Quelle> <Ziel>
Optionen
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 | |
Anleitung
Vorbereitung
Synchronisation
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.
Synchronisation via SSH
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.
Fazit
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.
Haftungsausschluss
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\\
Diskussion