Skript für Sicherung per Rsync auf zweite Synology im Netzwerk gesucht

Status
Für weitere Antworten geschlossen.

fraubi

Benutzer
Mitglied seit
25. Nov 2011
Beiträge
605
Punkte für Reaktionen
0
Punkte
42
Hallo,

ich versuche mich gerade an einem Script, mit dem ich über das hausinterne Netzwerk einen bestimmten Ordner von meiner DS713+ auf meine DS214Play synchronisieren kann.

Folgende Ausgangssituation :

Quell-Diskstation = IP 192.168.0.10 Port 1000
Quellordner : Public auf Volume 1

Ziel-Diskstation = IP 192.168.0.20 Port 2000
Zielordner : test auf Volume 1

Wenn ich auf einer einzelnen Diskstation etwas zwischen den Ordnern synchronisieren wollte, würde ich ja

rsync -avz --delete /volume1/Public/ /volume1/test

verwenden.

Wie aber muss das Skript aussehen, wenn ich eine Synchronisation auf eine andere Diskstation durchführen will. Keine Ahnung, wie und wo in ich dem Skript die Angaben über Benutzer, Passwort, IP-Adresse des Zielservers etc. einsetze.

Hat jemand evtl. einen kleinen geistigen Anschub für mich ?

Danke und viele Grüße
Fraubi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
du solltest auf die Passworteingabe verzichten und den Zertifikatslogin für SSH machen. Sonst kannst du das Script nie unbeaufsichtigt laufen lassen. Dann geht es mit rsync via SSH recht einfach
Code:
rsync -av -e "ssh -i /pfad/zum/zertifikat" root@REMOTE_IP:/etc/ /backup/etc/
sichert den Remote Folder /etc lokal nach /backup/etc
 

fraubi

Benutzer
Mitglied seit
25. Nov 2011
Beiträge
605
Punkte für Reaktionen
0
Punkte
42
Danke für die erste Info. Das mit dem Zertifikat ist wichtig, da es ja unbeaufsichtigt laufen soll.

Ich muss allerdings zugeben, dass ich mich damit noch nie beschäftigt habe. Als ersten Schritt habe ich eben mal ein eigenes Zertifikat auf der DS erstellt. Ich vermute, dass dieses irgendwo unter

/usr/syno/etc/ssl

gespeichert ist. Aber wo in diesen Unterordner. Welches ist der Pfad der angegeben werden muss ? Und welches Zertifikat ist gemeint, das ROOT-Zertifikat ?

Es soll ja synchronisiert werden, also alle Daten, die im Quellordner fehlen sollen auch im Zielordner gelöscht werden. Fehlt dann da nicht in der Befehlszeile der Parameter --delete ?

Könntest Du mir noch ein wenig Hilfestellung geben ?

Vielen Dank
Fraubi
 

fraubi

Benutzer
Mitglied seit
25. Nov 2011
Beiträge
605
Punkte für Reaktionen
0
Punkte
42
Jo, hat nach einigen Stunden harter geistiger Arbeit und vielen Tests dann doch endlich geklappt.

Leider gab es nirgends gesammelte Infos, die erstmal grundsätzlich die Vorgehensweise erläutern und gleichzeitig eine Installationshilfe auf einem Synology-NAS beinhalten. Daher will ich meine gesammelten Erkenntnisse hier mal kundtun, falls jemand anderes ebenfalls ein ähnliches Szenario umsetzen möchte.

Ziel : Daten vom Quellserver (IP 192.168.0.100) auf den Zielserer (IP 192.168.0.200) mittels RSYNC kopieren
Quelle : http://www.synology-wiki.de/index.php/Ssh_mit_Zertifikaten_absichern

Soweit ich die Infos in der WIKI verstanden habe, muss auf dem Quellserver eine Schlüsseldatei generiert und diese dann auf den Zielserver übertragen werden. Ich bin daher wie folgt vorgegangen:

Auf dem Zielserver (IP 192.168.0.200)

Im Verzeichnis

/etc/ssh/

die Datei sshd_config

ändern. In den beiden Zeilen, die unter

#RSAAuthentication yes

stehen, die # am Anfang entfernen

Auf dem Quellserver (IP 192.168.0.100)

mit Putty als ROOT anmelden und folgende Befehle nacheinander ausführen:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chown -R root ~/.ssh
chmod 0600 ~/.ssh/authorized_keys

Dann in Putty

ssh-keygen

eingeben und einen Schlüssel generieren. Den voreingestellten Speicherpfad unverändert lassen. Ich habe hier kein Passwort vergeben. Keine Ahnung ob das so ok ist.

Dann die Dateirechte mit Putty wie folgt ändern:

chmod 0600 ~/.ssh/id_rsa*

Den Schlüsselcode mit

cat ~/.ssh/id_rsa.pub |ssh root@192.168.0.200 "cat >> .ssh/authorized_keys"

auf den Zielserver (IP 192.168.0.200) übertragen.

Danach war es problemlos und ohne die Notwendigkeit der Eingabe eines Benutzernamens und eines Passwortes möglich, mit dem folgenden Befehl Daten per Putty oder aber über ein entsprechendes Skript vom Quellserver (IP-Adresse 192.168.0.100) auf den Zielserver (192.168.0.200) zu kopieren.

rsync -avuz --delete -e '/usr/syno/bin/ssh -i /root/.ssh/id_rsa' /volume1/quellverzeichnis/ root@192.168.0.200:/volume1/zielverzeichnis

Soweit ich die Syntax dieser Befehlszeile verstanden habe, setzt sich diese wie folgt zusammen

rsync -avuz --delete -e = Befehlssequenz für Rsync
'/usr/syno/bin/ssh -i = Pfad zum Programm 'ssh'. Man beachte das ' am Anfang, das scheint wichtig zu sein
/root/.ssh/id_rsa' = Pfad zur Schlüsseldatei und Name der Schlüsseldatei (id_rsa). Man beachte das ' am Ende, das scheint wichtig zu sein
/volume1/Quellverzeichnis/ = Quellverzeichnis auf dem Quellserver
root@192.168.0.200 = Benutzer Root und die IP-Adresse des Zielservers
/volume1/zielverzeichnis = ist das Zielverzeichnis, in welches die Dateien auf dem Zielserver kopiert werden sollen

Ich habe keine Ahnung, ob alle diese Schritte wirklich nötig waren, oder aber, ob ich evtl. wichtige Schritte vergessen habe. Zumindest funkioniert es so. Aber dennoch, "Nachmachen" auf eigene Gefahr.

Viele Grüße
Fraubi
 

fraubi

Benutzer
Mitglied seit
25. Nov 2011
Beiträge
605
Punkte für Reaktionen
0
Punkte
42
Nachtrag :

Da Synology mit DSM5 einige Änderungen bei den Berechtigungen durchgeführt hat, nutze ich inzwischen folgenden RSYNC-Befehl für die Synchronisation

rsync -av --syno-acl --ignore-errors /volume1/quellverzeichnis/ root@192.168.0.200:/volume1/zielverzeichnis

Gruß
Fraubi
 

sapor

Benutzer
Mitglied seit
14. Apr 2011
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Danke fraubi,

das ist das, was ich jetzt seit Tagen suche :cool:. Leider sind die Wikis veraltet, oder die Tips sind für DSM 6.x.... oder funktionieren einfach nicht.

Eine Anmerkung : bei cat ~/.ssh/id_rsa.pub |ssh root@192.168.0.200 "cat >> .ssh/authorized_keys" ist das " zuviel

Eine Frage noch: müsste noch was von den Einstellungen/ Änderungen sicherheitshalber zurückgestellt werden, damit keine Sicherheitslöcher vorhanden sind ?
 

fraubi

Benutzer
Mitglied seit
25. Nov 2011
Beiträge
605
Punkte für Reaktionen
0
Punkte
42
@sapor

Ja, der Eintrag von mir ist ja schon echt ein wenig älter. Danke für den Hinweis mit dem Fehler, habe ich wohl damals falsch "rüberkopiert". Ich habe anfangs auch lange gebastelt, eh ich es hinbekommen habe.....

Ich glaube, dass es keine Sicherheitslöcher gibt, bin aber auch nicht so Profi, dass ich es beschwören würde. Mein "Sicherungs-NAS" ist immer nur für 3 Stunden eingeschaltet und nicht von außen erreichbar.....

Gruß
Fraubi
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.737
Punkte für Reaktionen
1.646
Punkte
314
Ich denke auch, das es so passen sollte. Vielleicht magst du aber auch mal meinen Blick auf dem von mir im Wiki beschriebenen Weg zur SSH-Verbindung werfen *klick* um eine weitere Quelle abklopfen zu können. Und wo wir grad dabei sind, vielleicht magst du dir dann auch gleich mal Ultimate Backup (*aktuelle Version*) anschauen, einem auf RSync basierendes SPK zur Datensicherung.

Tommes
 

sapor

Benutzer
Mitglied seit
14. Apr 2011
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat