Synchronisation von Daten auf Synology Diskstation mit RSync

in einem vergangenen Post habe ich beschrieben, wie man Daten auf einer Synology-NAS mit Hilfe von unison synchronisieren kann.Unison ist eine Zwei-Wege-Synchronisation, kann also die Veränderungen von zwei Verzeichnissen auflösen (egal in welchem verzeichnis man etwas geändert hat, das andere Verzeichnis erhält die Änderung auch). Heute wollen wir RSync durchnehmen – eine Ein-Weg-Synchronisation. Das bedeutet wes werden nur die Änderungen, die in einem Verzeichnis passieren, auf das zweite Verzeichnis übertragen. Unison ist auch zur Ein-Wege-Synchronisation fähig und RSync zur Zwei-Wege-synchronisation – aber um das zu bewerkstelligen ist in den Tools ziemlich viel Arbeit zu erledigen, da man viel manuell herumwursteln muss. Am besten, man nutzt die Tools jeweils für den Zweck, für den sie geschaffen wurden. RSync als Ein-Wege-synchronisation eignet sich also sehr gut, um Änderungen eines Verzeichnisses, in dem man ständig Veränderungen durchführt, auf ein anderes Verzeichnis zu übertragen – um das zweite Verzeichnis beispielsweise als Backup zu nehmen. Somit eignet sich RSync beispielsweise, um sich desöfteren ändernde Konfigurationsdateien zu sichern – oder etwa eine Adressbuchdatei mit den eigenen E-Mail-Kontakten. Oder beispielsweise zum Sichern seines Dropbox-Ordners auf eine externe Festplatte.

Prüfen, ob rsync installiert wurde

which rsync

die binary sollte unter /opt/bin/rsync liegen

Nun wollen wir synchronisieren. In meinem beispiel habe ich zwei Verzeichnisse, die nicht abschließend synchronisiert sind. Es handelt sich um zwei externe USB-Festplatten, die unter /volumeUSB1/usbshare1-2 und /volumeUSB3/usbshare3 liegen.

Wir können Dateien mit rsync entweder mit dem Flag -r synchronisieren – dies synchronisiert fast alle Daten inklusive Unterverzeichnisse. Wenn wir stattdessen das Flag -a benutzen, beinhaltet dies das Flag -r, mit dem Unterschied, dass zusätzlich symbolische Link und die chmod-Permissionattribute mit synchronisiert werden. Deswegen ist -a die Regel beim Synchronisieren geworden. Man kann aber auch beide Flags miteinander kombinieren, was die empfohlene Variante ist

rsync -ar /volumeUSB1/usbshare1-2/ /volumeUSB3/usbshare3/

Wichtig ist außerdem,. dass wir die beiden Verzeichnisse mit abschließenden / angeben. Wenn wir den abschließenden / vergessen, werden die verzeichnisse jeweils in das andere verzeichnis reingeschoben. Das heißt wird haben dann ein verzeichnis /volumeUSb1/usbshare1-2/usbshare3 und ein Verzeichnis /volumeUSB3/usbshare3/usbshare1-2, wenn wir die abschließenden Slashes vergessen.

Es macht desweiteren sinn, die daten während des Dateitransfers zu komprimieren. Das geht mit dem Flag -z.

rsync -arz /volumeUSB1/usbshare1-2/ /volumeUSB3/usbshare3/

Jetzt müssen wir noch verhindern, dass aktuellere Dateien überschrieben werden. Das machen wir mit dem Flag -u für update. Damit werden Dateien, die neuer sind als auf der Gegenstelle, nicht überschrieben.

Ebensfalls sinnvoll ist das Flag -P. Mit diesem erhalten wir einen Fortschrittsbalken und können unterbrochene Synchronisationsvorgänge fortsetzen.

Damit wir wirklich eine Synchronisation durchführen, müssen wir Dateien, die im Quellverzeichnis gelöscht werdne, auch im Zielverzeichnis löschen lassen. Das macht rsync aus sicherheitsgründen aber nicht standardmäßig, da hier bei unerfahrenenen Nutzern unnötig daten velroren gehen können. WEnn wir also entfernte Dateien auch im Zielverzeichnis löschjenwollen, müssen wir die Option –delete anfügen.

rsync -arzP --delete /volumeUSB1/usbshare1-2/ /volumeUSB3/usbshare3/

Wir können außerdem wie bei Unison auch bestimmte Dateien von der Synchronisation ausschließen mittels der Option –exclude. Dei option braucht dann ein Muster in Form eines regulären Ausdrucks oder eines Platzhalterszeichens, mit dem es die Dateien, die es auszuschließen gilt, finden kann.Dieses Ausschließen können wir wiederum für einige Dateien, die ebenfalls in das exclude-Muster fallen würden, überschreiben, indem wir ein exakteres Muster für diese Dateien in die Option –include einfügen.

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>