Script wird beim Start nicht ausgeführt

  • 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.

martin150

Benutzer
Registriert
17. Apr. 2014
Beiträge
15
Reaktionspunkte
0
Punkte
1
Hallo!
In meinem Home Verzeichnis liegt ein Script Namens starthabridge.sh
Der Versuch das Script mittels Aufgabenplaner beim Hochfahren des NAS zu starten, gelingt leider nicht.

Im Aufgabenplaner steht unter Benutzerdefiniertes Script folgender Eintrag:
/volume1/homes/Name/starthabridge.sh

Als Besitzer habe ich nicht root sondern meinen Usernamen

Auch beim Anklicken im Aufgabeplaner und "Ausführen" passiert leider nix.

Via Shelly vom Handy oder Putty vom PC funktioniert der Start des Scripts einwandfrei.

Bitte um Hilfe!

LG
martin150
 
Da müsstest du schon den Inhalt deines Scripts posten.
Oft ist es nur der PATH, der bei der Ausführung per Aufgabenplaner anders sitzt, da die Scripte /etc/profile und ~/.profile im Unterschied zum interaktiven Aufruf nicht durchlaufen werden. Also besser alles wichtige daraus mit ins Script übernehmen.
Also solche Scripts immer gleich mit
Code:
#!/bin/sh
PATH=...
export PATH
...
beginnen. Dann sollte es egal sen, ob man das Script interaktiv oder per Aufgabenplaner ausführt.
 
Zuletzt bearbeitet:
Hallo
Danke für die Antwort
Code kann ich posten, kein Problem.
Hab den aus einem anderen Forum und es wird eine Java Datei ausgeführt.
Mit den Path Angaben kenn ich mich leider nicht so wirklich aus ....

Rich (BBCode):
#!/bin/sh
cd /volume1/homes/Name/habridge
rm /volume1/homes/Name/habridge/habridge-log.txt
nohup java -jar -Dserver.port=4733 -Dconfig.file=/volume1/homes/Name/habridge/data/habridge.config /volume1/homes/Name/habridge/ha-bridge-5.1.0.jar > /volume1/homes/Name/habridge/habridge-log.txt 2>&1 &
chmod 777 /volume1/homes/Name/habridge/habridge-log.txt

LG
 
Warum probierst du nicht einfach mal das, was ich dir in #2 bereits gesagt habe. Ich vermute, er findet einfach java nicht, wenn es über den Aufgabenplaner läuft. Was steht im log?
Ruf mal "echo $PATH" in der Konsole auf und nimm das was ausgegeben wird als "PATH=..." mit ins Script auf wie in #2 beschrieben.
Alles was du ohne Pfad angibst (java z.B.), muss ja gefunden werden. Dazu dient PATH.
 
Ok Danke,
Hab das mit dem PATH zuerst nicht richtig kapiert, ergo nicht genau gewusst, was ich da ausprobieren sollte.
Der Tipp mit echo $PATH hat jetzt ein wenig Licht in die Dunkelheit gebracht.
Hat jetzt die Zeilen
Rich (BBCode):
PATH=/var/packages/Java8/target/j2sdk-image/bin:/var/packages/Java8/target/j2sdk-image/jre/bin:/usr/local/bin:$PATH
export PATH
in das Script eingefügt und es funktioniert jetzt zumindest schon mal als Benutzerdefiniertes Skript.
Beim Hochfahren wird es leider noch immer nicht ausgeführt.
Aber damit kann ich leben, ich geb halt einfach beim Benutzerdefinierten Skript ein, dass es ein paar Minuten nach dem geplanten NAS Start ausgeführt werden soll.
Mal gucken...
Vielleicht komm ich ja auch noch drauf warum es beim Start nicht funktioniert.

LG
martin150
 
Java gehört zu den Packages, die müssen erstmal gestartet werden und erst mal laufen. Vielleicht bis du einfach zu früh dran. Leg das Script doch einfach ne Zeit lang schlafen, ohne den Startvorgang zu blockieren, z.B. mit
Code:
#!/bin/sh
PATH=/var/packages/Java8/target/j2sdk-image/bin:/var/packages/Java8/target/j2sdk-image/jre/bin:/usr/local/bin:$PATH
export PATH
{
  sleep 20
  cd /volume1/homes/Name/habridge
  rm /volume1/homes/Name/habridge/habridge-log.txt
  nohup java -jar -Dserver.port=4733 -Dconfig.file=/volume1/homes/Name/habridge/data/habridge.config /volume1/homes/Name/habridge/ha-bridge-5.1.0.jar > /volume1/homes/Name/habridge/habridge-log.txt 2>&1 &
  chmod 777 /volume1/homes/Name/habridge/habridge-log.txt
}&
Das könnte klappen, bin mir aber nicht sicher. { ... }& führt die enthaltenen Befehle im Hintergrund aus und kehrt sofort zurück.
 
Zuletzt bearbeitet:
Hi, hier bin ich noch eine Antwort schuldig.
Die Verzögerung hab ich mal eingebaut, obwohl auch das manuelle Starten des Scripts (das beim Hochfahren!) nicht funktioniert hat.
Hab jetzt noch einen Versuch gestartet, und das Hochfahrereignis als root ausführen lassen und mit der Zeitverzögerung und siehe da, it works!

Thema erledigt, DANKE nochmal für deine großartige Hilfe!

lg
martin150
 
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