Tutorial: Raspberry Pi mittels rsync auf DS sichern!

Status
Für weitere Antworten geschlossen.

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Als Gegenstück zu Polarlys Anleitung "Tutorial: Raspberry Pi als rsync-Server für Backup der DS basteln" und in Anlehnung an meinen eigenen Thread "rsync - Raspberry Pi auf DS" möchte ich hier nochmal den umgekehrten Weg beschreiben, wie man von seinem Raspberry Pi Daten mittels rsync auf die DS sichern kann.

Zur Sicherheit noch ein Hinweis zur Benutzung, wobei ich mich auf die Informationen aus dem Wiki stütze...
http://www.synology-wiki.de/index.php/Wichtige_Informationen_zum_Modden_der_Synology_Stations



Beginnen wir auf der DS
Auf der Konsole der DS als Benutzer "root" (und Passwort des Benutzers"admin") einloggen.
Erstellen den SSH-Schlüssels mit...

Rich (BBCode):
ssh-keygen -t rsa

Nach der Ausführung werden im Ordner /root folgende Ordner und Dateien erstellt:

Rich (BBCode):
/root/.ssh
/root/.ssh/id_rsa
/root/.ssh/id_rsa.pub

Den Inhalt der Datei /root/.ssh/id_rsa.pub z.B. mit vi oder dem AdminTool editieren
und den Inhalt in die Zwischenablage kopieren. (STRG + A) & (STRG + C)

Rich (BBCode):
vi /root/.ssh/id_rsa.pub


Weiter gehts auf dem Pi!
Anmelden am Raspberry Pi als Benutzer "pi"! Nach der Anmeldung muß man sich erstmal "root"-Rechte verschaffen mit...

Rich (BBCode):
sudo -s

Der Benuter "root" erhält im entsprechenden Ordner /root einen neuen Ordner /.ssh ...

Rich (BBCode):
mkdir ~/.ssh

Daraufhin wird unter /root/.ssh/ eine neue Datei namens "authorized_keys" erstellt...

Rich (BBCode):
nano ~/.ssh/authorized_keys

...und der Inhalt aus der Zwischenablage, also der Inhalt aus der /root/.ssh/id_rsa.pub, die auf der DS erstellt wurde mit STRG + V in die geöffnete Datei eingefügt. Danach speichern wir die Datei mit STRG + O, bestätigen das Speichern und beenden den Editor mit STRG + X. Und zu guter letzt noch als "root" vom System abmelden mit...

Rich (BBCode):
exit

Weiter gehts als Benuter "pi". Die Datei sshd_config editieren...

Rich (BBCode):
sudo nano /etc/ssh/sshd_config

... und nach den Einträgen...

Rich (BBCode):
RSAAuthentification no
PubkeyAuthentification no

...suchen und diese durch...

Rich (BBCode):
RSAAuthentification yes
PubkeyAuthentification yes

... ersetzen. Danach den SSH Dienst neu starten mit...

Rich (BBCode):
sudo /etc/init.d/ssh restart

Zum Abchluß wird das System nochmal aktuallisiert...

Rich (BBCode):
sudo apt-get update

...und kontrolliert, ob rsync auf dem System bereits installiert ist. Das kann man mit...

Rich (BBCode):
which rsync

... in Erfahrung bringen. Folgt nach der Eingabe ein "/usr/bin/rsync", dann ist rsync bereits installiert, ansonsten
sollte man die Installation jetzt nachholen mit...

Rich (BBCode):
sudo apt-get install rsync


Zurück auf der Konsole der DS.
Als Benutzer "root" auf der DS einloggen und als Erstes die SSH-Verbindung prüfen mit...

Rich (BBCode):
ssh root@IP-DES-PI -p 22

Der Verbindungsaufbau möchte vom System nochmal mit "yes" bestätigt werden um anschließend auf der Konsole des pi's zu landen.
Diese Verbindung kann man durch die Eingabe eines...

Rich (BBCode):
exit

... wieder beenden. Durch den Verbindungsaufbau wurde nun in der Datei /root/.ssh/known_hosts ein neuer Eintrag hinzugefügt, der die Zugangsdaten zum Raspberry Pi beinhaltet. Kontrollieren kann man das mit...

Rich (BBCode):
vi /root/.ssh/known_hosts

Nachdem alles gut verlaufen ist, wird die Konsole wieder geschlossen mit...

Rich (BBCode):
exit

Finale im DSM
Im DSM ruft man über DSM-Hauptmenü/Systemsteuerung/ den Aufgabenplaner auf und erstellt ein neues, benutzerdefiniertes Script.
Man vergibt dem Vorgang einen Namen und wählt den Benutzer "root". Im Feld "Benutzerdefiniertes Script" kann man nun entweder
den rsync auf den Pi abfeuern, oder man gibt hier den Verweis zu einem entsprechenden Script an. Der rsync-Befehl könnte z.B. so
aussehen...

Rich (BBCode):
/usr/syno/bin/rsync -avz -e ssh root@192.168.178.5:/var/www/ /volume1/public/web/$(date +%Y%m%d)_webserver/ >> /volume1/public/webserver/$(date +%Y%m%d)_webserver-backup.log 2>&1

möchte man z.B. den Web-Ordner /var/www/ des RasPi's sichern.

Thats all
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.849
Punkte für Reaktionen
1.143
Punkte
754
Sensationell, wie hast Du das denn so schnell 'runtergehämmert?
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Tja, da bist'e Platt!

In Wirklichkeit hatte ich das Tutorial schon länger hier rumliegen und war nur zu faul, das hier zu veröffentlichen. Animiert durch das gegenteilige Tutorial von Polarlys hab ich das jetzt endlich mal umgesetzt.

Tommes
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Cooles Teamworking :)
 

Fredi69

Benutzer
Mitglied seit
22. Mrz 2015
Beiträge
89
Punkte für Reaktionen
0
Punkte
6
Das mit dem kopieren und einfügen klappt bei mir in vi nicht.
Was mache ich da falsch?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.849
Punkte für Reaktionen
1.143
Punkte
754
Du musst im vi erst i drücken, um etwas einfügen zu können. Ansonsten vielleicht einen anderen Editor wie den von Tommes angesprochenen nano verwenden oder die Datei per WinSCP mittels notepad++ o.ä. bearbeiten.
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Ansonsten gibt's im Wiki eine Grundanleitung für das Wesentliche bei vi.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Und für alle Windows-Mausschubser unter uns!

Im Terminal-Fenster (z.B. Putty)die linke Maustaste drücken und dabei den gewünschten Text markieren. Beim loslassen der Maustaste wird der markierte Text automatisch in die Zwischenablage kopiert. Will man den Text dann z.B. in einem Windows-Editor ablegen, dann einfach über STRG + V oder rechte Maustaste - Einfügen. Will man den Text wieder irgendwo im Terminal-Fenster (von z.B. Putty) wieder einfügen, dann den Textcursor an die Stelle bringen, wo der Text hin soll und dann die rechte Maustaste drücken, oder aber SHIFT + Einfg. auf der Tastatur.

Tommes
 

an124

Benutzer
Mitglied seit
05. Jul 2013
Beiträge
115
Punkte für Reaktionen
0
Punkte
0
Danke für deine Anleitung. In was ändere ich das Script ab wenn ich die Komplette SD vom Raspi sichern will?
gruß Rainer
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Du meinst... du willst ein Image der SD erstellen? Das geht so nicht, da wäre sowas hier besser *klick* wobei ich das selber noch nicht probiert habe.

Tommes
 

an124

Benutzer
Mitglied seit
05. Jul 2013
Beiträge
115
Punkte für Reaktionen
0
Punkte
0
Nein kein Image, dafür hab ich ja das winimage dingens.. aber will nicht ständig die SD entfernen. Also so gesehen eine 1zu1 Kopie der Ordnerstruktur. Also wie bei dir, aber nur nicht www sondern alles.. ;)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Hm, ich halte das zwar für nicht sinnvoll aber wenn du das so haben magst.

Ich habe es nicht getestet, aber es sollte mit einem einfachen / anstatt /var/www/ funktionieren.

Tommes
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Ich habe das gerade alls so durchgeführt wie beschrieben.
Wenn ich dann den rsync Befehl absetze passiert gar nichts.

In welches Verzeichnis auf der DS wird denn mit dem Befehl kopiert ?
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
In welches Verzeichnis auf der DS wird denn mit dem Befehl kopiert ?
Wenn du mein Beispiel 1 zu 1 übernommen hast dann sollte es hier abgelegt werden...
Code:
/volume1/public/web/20160227_webserver/
... wobei du dafür natürlich einen gemeinsamen Ordner Namens public unter volume1 benötigst. Auch kann es sein, das du den Ordner /web noch von Hand anlegen mußt, bin mir da grad nicht sicher.

Wo hast du denn das Script liegen? Oder führst du den Befehl gleich auf der Konsole oder im Aufgabenplaner aus? Falls du eine Scriptdatei verwendest sollte diese ausführbar sein (chmod +x) und einen Shebang enthalten

Tommes
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Also der Ordner Public/web existiert.
Ich habe deinen Befehl 1zu1 (mit meiner IP) übernommen und im Aufgabenplaner gestartet.

Wenn ich auf Ausführen klicke , steht kurz da wird geladen und das wars dann .
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Welche DSM-Version? Angemeldet als Benutzer "admin" und das Script wird in Aufgabenplaner als Benutzer "root" ausgeführt?
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
DSM ist aktuell (update-5) glaube ich
Angemeldet als Benutzer mit Admin-Rechten.
Script wird mit Root ausgeführt.

Ich shcau da morgen noch mal drüber.
Jetzt gehe ich erstmal auf einen Geburtstag :)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Dann viel Spaß beim feiern
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Ich habe jetzt nochmal alles gescheckt, IPs überprfüft, Zugriff DS auf Raspberry klappt, known-Hosts Datei überprüft.

Sieht eigentlich alles gut aus.
Es passiert aber nichts :-(
 
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