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
Also bei mir klappt das. Aber vielleicht kannst du mal zum testen das nachfolgende Script per Copy & Paste kopieren, dann z.B. in eine Datei Namens rsync.sh einfügen, speichern und dann über den Aufgabenplaner ausführen. Du mußt hier nur die Variablen für TOSSH, SOURCE und TARGET anpassen...

Code:
#!/bin/sh

TOSSH="root@192.168.178.5"
SOURCE="/home"
TARGET="/volume1/NetBackup/RasPi"

# Umgebungsvariablen definieren
RSYNCCONF=""
RSYNC="/usr/syno/bin/rsync"
MKDIR="/bin/mkdir"
ECHO="/bin/echo"
DATE="/bin/date +%Y-%m-%d_%H%M"
TIMESTAMP="/bin/date +%d.%m.%Y_%H:%M:%S"
SYNODSMNOTIFY="/usr/syno/bin/synodsmnotify"

# Ordner und Datei für das Protokoll anlegen
$MKDIR -p $TARGET/@Logfiles
  LOG="$TARGET/@Logfiles/`$DATE`_Sicherungsprotokoll.log"
  $ECHO "Sicherungsprotokoll vom `$TIMESTAMP` Uhr" > $LOG
  $ECHO "" >> $LOG

# rsync - Befehl ausführen sowie protokollieren  
	$ECHO  "" >> $LOG
	$ECHO "--> Zusammenfassung von: $TARGET" >> $LOG
	$RSYNC -ahz --stats --log-file-format="%i %o %f" -e ssh "$TOSSH:$SOURCE" "$TARGET" >> $LOG 2>&1
	
# rsync - Ausführung auswerten und Ergebnis anhand der "exit codes" ausgeben
	if [ $? -eq 0 ]; then      
		$ECHO  "" >> $LOG
		$ECHO "rsync-Datensicherung erfolgreich abgeschlossen" >> $LOG
		DSMNOTIFY="rsync-Datensicherung erfolgreich abgeschlossen"            
		
	elif [ $? -ne 0 ]; then  
		$ECHO  "" >> $LOG            
		$ECHO "rsync-Datensicherung fehlgeschlagen - Fehler $?" >> $LOG
		DSMNOTIFY="rsync-Datensicherung fehlgeschlagen - Fehler $?"    
	fi  

# Benachrichtigung an die DSM-Administratorengruppe senden	
  $SYNODSMNOTIFY @administrators "rsync-Script" "$DSMNOTIFY"

BTW: Dieses Script erlaubt es nur eine Quelle (SOURCE) auszuwählen, möchtest du gerne mehrere Quellen verwenden mußt du das Script dementsprechend anpassen. Außerdem bekommst du so eine Nachricht über den DSM über Erfolg und Misserfolg des rsync-Laufes. Schau's dir einfach mal an.

Und falls das mit dem Copy & Paste auch nicht klappen sollte, hier noch die Datei (musst sie nur unzippen)...

Tommes
 

Anhänge

  • rsync_aufgabe.zip
    836 Bytes · Aufrufe: 7

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Ich tue mich mit der Console der DS echt schwer :-(

Ich habe im Script folgendes Geändert:
TOSSH="root@192.168.178.49"
SOURCE="/var/www/"
TARGET="/volume1/public/web"

Das Script liegt auch im /public/web Ordner
Wenn ich das dann ausführe , wird es geladen und dann ist Ende. Keine Log Datei vorhanden.
Irgendwo habe ich doch noch einen Wurm drinne :-(
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Hm... da bin ich auch grad etwas ratlos. Vielleicht liegt es auch an deinem "Benutzer mit Adminrechten" ?!? Keine Ahnung. Das Problem ist aus der Ferne aber auch schwer zu lokalisieren. Vielleicht probierst du das ganze mal direkt auf der Konsole der DS als root mit dem Passwort des admin. Aber die Konsole gehört ja, wie du selber sagtes, nicht grade zu deiner Lieblingsumgebung.

Tommes
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Ah... guter Hinweis Grobi... äh... Jörg. Das könnte tatsächlich eine Fehlerquelle sein. Mal schauen was Venkman dazu sagt...
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Also das script habe ich jetzt über die Konsole gestartet.
Einmal mit /var/www/ und einmal ohne den letzten Slash

Zumindest wird ein Log angelegt:
Sicherungsprotokoll vom 28.02.2016_19:43:02 Uhr


--> Zusammenfassung von: /volume1/public/web
ssh: Could not resolve hostname : Name or service not known
rsync error: unexplained error (code 255) at io.c(687) [Receiver=3.0.9]

rsync-Datensicherung fehlgeschlagen - Fehler 0

Die Fehlermeldungen sind bei beiden Versionen identisch
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Habe jetzt alles nochmal gelöscht und von vorne angefangen.
Jetzt kommt der Fehler, wenn ich den aufruf in der Konsole starte
Permission denied (publickey,password).
rsync error: unexplained error (code 255) at io.c(687) [Receiver=3.0.9]
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Dann hast du ein grundlegendes Problem mit der SSH-Verbindung und solang das nicht funktioniert, kann das Script auch nicht funktionieren.

Was machst du mit deinem Raspberry Pi überhaupt? Was läuft auf dem Pi? Raspian? OpenELEC?

Tommes
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
da läuft Raspian drauf mit dem NGinx Webserver und Owncloud.
Sonst nichts
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Hast du auf dem Pi evtl. eine Firewall eingerichtet und dabei den Port 22 gesperrt? Oder hat die fail2ban Falle zugeschnappt? Keine Ahnung was da bei dir schief gelaufen ist. Geh am besten nochmal Schritt für Schritt alles durch und schau ob du den Fehler lokalisieren kannst. Ich weiß grad nicht, wie ich dir da helfen kann

Tommes
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Firewall und Fail2Ban läuft nicht.
Ich komme ja mit Putty ohne Probleme auf den Raspi

Im Netz ist er auch ohne Probleme anzupingen

Trotzdem Danke für die Hilfe.
Ich werde es später nochmal versuchen
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Und von der Konsole der DS kannst du keine SSH-Verbindung zum Pi ala...
Code:
ssh root@IP-DES-PI -p 22
...aufbauen? Dabei erhälst du dann eine Fehlermeldung, richtig?

Mal so nebenbei gefragt: Steht dein Pi im Internet oder nutzt du ihn nur lokal?
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Möglich das Fail2Ban doch installiert ist. Ist mir zwar nicht mehr bewusst das ich das gemacht habe, aber es gibt dazu ein Verzeichnis :-(

Den SSH Befehl habe ich mal mit -v ausgeführt.
Vielleicht sagen die Meldungen dazu ja mehr aus.
--------------------------------------------------
Diskstation> ssh -v root@xxx.xxx.xxx.xxx -p 22
OpenSSH_6.6, OpenSSL 1.0.1q-fips 3 Dec 2015
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6p2-hpn14v4
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4+deb7u2
debug1: Remote is NON-HPN aware
debug1: match: OpenSSH_6.0p1 Debian-4+deb7u2 pat OpenSSH* compat 0x14000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: AUTH STATE IS 0
debug1: REQUESTED ENC.NAME is 'aes128-ctr'
debug1: kex: server->client aes128-ctr umac-64@openssh.com none
debug1: REQUESTED ENC.NAME is 'aes128-ctr'
debug1: kex: client->server aes128-ctr umac-64@openssh.com none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 4e:66:e4:5e:72:7c:5f:61:f3:9b:c9:91:5e:08:ef:1e
debug1: Host '192.168.178.49' is known and matches the ECDSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: Trying private key: /root/.ssh/id_ed25519
debug1: Next authentication method: password
root@xxx.xxx.xxx.xxx's password:
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
---------------------------------------------
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Also mein Vermutung ist das was mit dem KeyFile nicht passt.
Egal welches PW ich eingebe es kommt immer Permission denied

und dann hänge ich im Fail2Ban , obwohl ich da auch meine IP bei ignoreip angegeben habe.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.141
Punkte für Reaktionen
1.112
Punkte
314
Ah, ich glaub jetzt hab ich's. Hast du beim Erstellen des RSA-Keys (ssh-keygen -t rsa) nach Rückfrage ein Passwort eingegeben? Falls ja, könnte hier der Hund begraben liegen da ich an dieser Stelle kein Passwort angegeben habe.

Tommes
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Nein habe kein Passwort oder Passphrase eingegeben.
Wenn ich von der DS eine Verbindung zum Raspi aufbauen will werde ich aber nach einem Passwort gefragt.
Aber egal was ich da eingebe alles wird zurück gewiesen :-(
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Verbinde dich als User "pi", nicht "root". Dann aktiviere mit "sudo -s" (mit Passwort des pi-Users) eine root-Shell. Dort vergibst du ein Passwort mit "passwd root". Danach funktioniert SSH in den root-Account wahrscheinlich.
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Den User Pi gibts bei mir nicht mehr.
Wurde so in vielen Anfänger Anleitungen vorgeschlagen.
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Hier geht es aber um den root-Account, nicht um den des Users.
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Habe aber auch beide Varianten probiert , einmal als User und einmal als Root

jetzt gibt es nur noch diese Fehlermeldung
--> Zusammenfassung von: /volume1/public/web
ssh: Could not resolve hostname : Name or service not known
rsync error: unexplained error (code 255) at io.c(687) [Receiver=3.0.9]

Keine Ahnung wo ich noch suchen soll
 
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