SCP Shell Script über Crontab

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

StefanSommer

Benutzer
Registriert
12. Jan. 2011
Beiträge
4
Reaktionspunkte
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!
 
Gib mal auf der Kommandozeile ein:

which scp

Die Ausgabe verwendest anstelle der Buchstabenfolge scp ...

Itari
 
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
 
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? ;)
 
versuch mal das sleep mit dem poweroff in die gleiche Zeile zu schreiben

/bin/sleep 60;/sbin/poweroff
 
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