Script wird beim Start nicht ausgeführt

Status
Für weitere Antworten geschlossen.

martin150

Benutzer
Mitglied seit
17. Apr 2014
Beiträge
15
Punkte für Reaktionen
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
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.308
Punkte für Reaktionen
2.867
Punkte
423
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:

martin150

Benutzer
Mitglied seit
17. Apr 2014
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
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
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.308
Punkte für Reaktionen
2.867
Punkte
423
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.
 

martin150

Benutzer
Mitglied seit
17. Apr 2014
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
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
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.308
Punkte für Reaktionen
2.867
Punkte
423
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:

martin150

Benutzer
Mitglied seit
17. Apr 2014
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
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