Von einigen Webseitenbesuchern, die mittlerweile mehrere NAS betreiben, habe ich die Anfrage bekommen, ein Tutorial zu schreiben, wie man einen Ordner auf einem NAS auf ein zweites NAS synchronisieren kann. Natürlich funktioniert das auch zu beliebigen anderen Rechnern, ich beschreibe es hier aber absichtlich nur für das fun_plug (welches natürlich auf beiden NAS installiert sein muss).

Achtung: Ich beschreibe eine Variante ohne Verschlüsselung der Datenübertragung. Sollte dies gewünscht sein, so verweise ich auf die Suchmaschine deiner Wahl. Diese sollte dich mit dem Stichwort “rsync ssh” zu einem weiterführenden Artikel bringen.

Achtung: Bestehende Konfigurationen einen rsync-Servers werden unter Umständen überschrieben, Nutzer werden gebeten, das folgende Tutorial selbstständig in die Konfiguration zu integrieren.

Los gehts mit der Vorstellung des Szenarios: NAS Alice enthält einen Ordner namens Foo, welcher regelmäßig auf das NAS Bob in den Ordner Bar gespiegelt werden soll. Änderungen in Foo werden auf Bob kopiert, Änderungen an Bar werden verworfen bzw. auf den Stand von Alice zurückgesetzt.

Kommen wir zur Konfiguration. Der zu spiegelnde Ordner auf Alice liegt in meinem Falle in /mnt/HD/HD_a2/Foo, dies wird sich sehr wahrscheinlich zu eurer Konfiguration unterscheiden! Bitte selbstständig anpassen! Zunächst müssen verschiedene Dateien zur Konfiguration des rsync-Servers angelegt werden (siehe Sektion “Download”). Dieser wird auf dem NAS Alice gestartet und stellt dann nach Authentifikation das konfigurierte Verzeichnis für einen rsync-Client (in diesem Fall das NAS Bob) bereit.

Download der erforderlichen Dateien

Auf Alice führt man die folgenden Schritte aus:

1
2
3
4
5
6
cd /ffp/etc/
mkdir -p /ffp/var/run/
wget http://wolf-u.li/u/370 -O rsyncd.conf
wget http://wolf-u.li/u/371 -O rsyncdmotd
wget http://wolf-u.li/u/372 -O rsyncdsecretsfile
chmod 600 rsyncdsecretsfile

Und auf Bob führt man die folgenden Kommandos aus:

1
2
3
4
5
6
7
8
mkdir -p /ffp/var/opt/uwmirrorfolderrsync/
cd /ffp/var/opt/uwmirrorfolderrsync/
wget http://wolf-u.li/u/375 -O uwmirrorfolderrsync.sh
wget http://wolf-u.li/u/374 -O uwmirrorfolderrsyncpass
chmod 600 uwmirrorfolderrsyncpass
chmod a+x uwmirrorfolderrsync.sh
cd /ffp/start/
wget http://wolf-u.li/u/376 -O uwmirrorfolderservice.sh

Nun sind die erforderlichen Konfigurationsdateien auf beiden NAS heruntergeladen.

Passwort

Jetzt geht man auf Alice und editiert die Datei /ffp/etc/rsyncdsecretsfile. Dort muss man statt YOURPASSWORDHERE ein Passwort einfügen, welches Bob zur Authentifizierung an Alice verwenden wird. Dementsprechend rate ich ein ca. 20-Stelliges oder noch längeres Kennwort zu verwenden, das tut an der Stelle keinem weh. Dieses Passwort muss nun auf Bob in der Datei /ffp/var/opt/uwmirrorfolderrsync/uwmirrorfolderrsyncpass statt YOURSERVERPASS eingetragen werden (ohne zusätzliche Zeichen!

Ordner

Der zu kopierende Ordner muss nun auf Alice konfiguriert werden. Dieser ist derzeit auf “/mnt/HD/HD_a2/Foo” festgelegt, was in der Datei /ffp/etc/rsyncd.conf abgeändert werden muss. Der Zielordner auf Bob wird in /ffp/var/opt/uwmirrorfolderrsync/uwmirrorfolderrsync.sh in der Variable BACKUPDIR abgeändert, welcher momentan auf /mnt/HD/HD_a2/Bar konfiguriert ist.

Testlauf

Auf Alice muss nun der Rsync-Server gestartet werden:

1
sh /ffp/start/rsyncd.sh start

Auf Bob kann man nun einen ersten Testlauf machen:

1
/ffp/var/opt/uwmirrorfolderrsync/uwmirrorfolderrsync.sh

Normalerweise sollte nun der erste Lauf problemlos durchlaufen, eventuelle Fehler sollten klar erkennbar sein.

Praktischer Betrieb

Hat der Testlauf geklappt, wird auf Alice der Rsync-Server dauerhaft eingeschalten und auf Bob ein Cron-Job eingerichtet, der täglich um 03:00 Uhr und um 15:00 Uhr (lokaler Systemzeit) den Abgleich startet.

Alice:

1
chmod a+x /ffp/start/rsyncd.sh

Bob:

1
2
chmod a+x /ffp/start/uwmirrorfolderservice.sh
/ffp/start/uwmirrorfolderservice.sh start

Das war. Bei Fragen oder Anmerkungen einfach einen Kommentar hinterlassen. Ich freue mich aber auch über ein Danke :)