SCP Shell Script über Crontab

Status
Für weitere Antworten geschlossen.

StefanSommer

Benutzer
Mitglied seit
12. Jan 2011
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo liebe Leute,

habe sehr lange gesucht, und bin zu keiner Lösung gekommen.

Meine DS: DS110j
Firmware: DSM 3.0-1354

Installierte Erweiterung (Anleitung übers WIKI): SCP

Ich habe einen VServer im Netz stehen, welcher nächtlich sämtliche WEB Verz. und MySql Daten in einer Datei (tar.bz2) bereit stellt.

Diese Datei soll sich meine DS täglich per SCP vom Server ziehen.
Die DS holt sich per SCP die Datei, die Autorisierung läuft über einen Key ab. Soweit so gut.

Hier das Script (aus Sicherheitsgründen einige Angaben durch *** ersetzt:

#!/bin/ash

NOW="$(date +"%d-%m-%Y")"

scp -P 65000 backup@*********.de:/home/backup/log-$NOW.tar.bz2 /volume1/homes/backup/h******/log
chown backup:users /volume1/homes/backup/h******/log/log-$NOW.tar.bz2

scp -P 65000 backup@*********.de:/home/backup/backup-$NOW.tar.bz2 /volume1/homes/backup/h******/web
chown backup:users /volume1/homes/backup/h******/web/backup-$NOW.tar.bz2

sleep 60;
poweroff

exit

Wenn ich das Script manuell über die Shell aufrufe, verichtet alles korrekt seinen Dienst.

Wenn ich die automatisiert ablaufen lassen möchte, fährt dazu morgens um 05:45 Uhr die DS hoch, und soll um 06:00 Uhr das Script ausführen. Dies wird dann auch aufgerufen. Ich habe den Ablauf mal mitgeloggt:

/volume1/homes/backup/h******/getbackup.sh: line 5: scp: not found
chown: /volume1/homes/backup/h******/log/log-12-01-2011.tar.bz2: No such file or directory
/volume1/homes/backup/h******/getbackup.sh: line 8: scp: not found
chown: /volume1/homes/backup/h******/web/backup-12-01-2011.tar.bz2: No such file or directory

Wie man sieht, fehlt hier plötzlich SCP. Warum funktioniert dies aber bei dem manuellen Aufruf? Ich weiss leider nicht weiter...

Hat jemand eine Idee dazu?

Vielen Dank im voraus!
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Gib mal auf der Kommandozeile ein:

which scp

Die Ausgabe verwendest anstelle der Buchstabenfolge scp ...

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
probier mal den kompletten Pfad zu scp anzugeben. Der cron hat eine eigene PATH Umgebung und kann daher das Kommando v.a. wenn es unter /opt liegt ned finden.
Ein
Code:
which scp
auf der Konsole sollte dir verraten wie der komplette Pfad ist
 

StefanSommer

Benutzer
Mitglied seit
12. Jan 2011
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Soweit so gut, Backup wird gespeichert.

Nun habe ich aber ein weiteres Problem: Ich hätte gern, dass "poweroff" zum Abschluss des Scriptes durchgeführt wird.

Tut es aber nicht. Beim manuellen ausführen ja, über die Cron nicht.
Habe auch mal die Befehle mit dem direkten Pfad angegeben.

Hier das aktuelle Script:

Rich (BBCode):
#!/bin/sh

NOW="$(date +"%d-%m-%Y")"

/opt/bin/scp -P 65000 *****@********.de:/home/backup/log-$NOW.tar.bz2 /volume1/homes/backup/h******/log
chown backup:users /volume1/homes/backup/h******/log/log-$NOW.tar.bz2

/opt/bin/scp -P 65000 *****@********.de:/home/backup/backup-$NOW.tar.bz2 /volume1/homes/backup/h******/web
chown backup:users /volume1/homes/backup/h******/web/backup-$NOW.tar.bz2

/bin/sleep 60;
/sbin/poweroff
exit

Was mache ich falsch? ;)
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
versuch mal das sleep mit dem poweroff in die gleiche Zeile zu schreiben

/bin/sleep 60;/sbin/poweroff
 

StefanSommer

Benutzer
Mitglied seit
12. Jan 2011
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Ja, danke für den Tipp.

Bin jedoch jetzt dazu übergegangen, dass die Box 24/7 läuft, da die nun auch noch andere Dienste übernimmt.

Trotzdem vielen Dank! :)
 
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