[SCRIPT] autorun.sh - Optware Dienste starten und beenden

  • Zitat von "xelra"

    Hmm. In dem Link steht doch drin, dass die Methode hier veraltet ist. Sie funktioniert auch seit Version 3.8.2 gar nicht mehr. Stattdessen sollst du die neue Methode verwenden, welche ganz oben beschrieben ist.



    Ja genau. Habe ich auch gemacht.


    Kann trozdem leider kein tomcat laden....



    lg Hulli

  • Hast du die "neue" autorun.sh auch in einem lesbaren Verzeichnis? Oder hast du das dummy qpkg einfach auf das, nicht lesbare, MTD verwiesen?

  • Hört sich alles richtig an. Den einzigen Tipp den ich noch habe, wäre zu überprüfen, dass deine Firmware oberhalb der Version 3.8.2 liegt. Sonst wirst du wohl etwas rumprobieren müssen.


    Funktioniert denn der Autostart für QPKGs, welche du aus dem Repository installiert hast? Die müssten ja dann auch Einträge in der qpkg.conf haben. Vielleicht mal gegenprüfen auf Plausibilität.

  • Oh ok daran habe ich nicht gedacht...
    in der qpkg.config habe ich noch einen tomcat Eintrag drin von der alten Installation...
    Sollte ich den vieleicht mal löschen???
    Vieleicht hilft das ja denn die autorun.sh funktioniert ja.


    Lg Hulli



    ---Edit---



    ok auch nach bereinigung der qpkg.conf geht es leider nicht.
    Das tomcat script läßt sich einfach nicht beim start laden.
    Oh man ich dreh hier noch durch...


    lg hulli

    2 Mal editiert, zuletzt von bladekiller () aus folgendem Grund: Editierfunktion nutzen und doppelte Beiträge vermeiden, siehe Forenregeln!

  • Bist du dir sicher, dass das Script nicht lädt? Vielleicht lädt das Script ja, aber was drinsteht führt nicht aus. Ich denke da an Umgebungsvariablen, die die Shell beim Ausführen nicht hat. Dasselbe Problem haben viele auch mit Cron. Von Hand kann man das Script ausführen, aber nicht mit Cron, weil keine Pfadvariablen geladen sind.

  • Tja das kann natürlich sein.
    Leider weiß ich dafür zu wenig von script programmierung...
    Deshalb habe ich mein Script ja auch mal angehängt.
    Ehrlich gesagt ich weiß es einfach nicht, da brauche ich einfach Hilfe...



    LG Frank

  • Code
    SET_ENV_VARS="/opt/bin:/opt/sbin:/usr/local/bin:/usr/local/sbin"export PATH=$PATH:$SET_ENV_VARSecho "export PATH=$PATH" >> /etc/profile


    Versuch mal mit obigem Code die Pfadvariablen zu setzen, bevor du in deinem Script Tomcat startest.


    EDIT:
    Achja und mach mal eine Zeile ganz oben in deinem Script

    Code
    touch /share/MD0_DATA/.qpkg/test


    und schau nach, ob die Datei da ist. Dann weißt du schonmal, dass das Script läuft.

  • Ok und hier ist das Ergebnis:


    die Datei test wurde geschrieben.
    Leider wurde trotz der Umgebungsvariablen tomcat nicht gestartet.
    Oh man das ist nicht lustig...



    LG Hulli

  • OK, dann sind wir hier ja fertig. Dein Autostart funktioniert ja. :D


    Warum Tomcat nicht startet, das ist natürlich jetzt eine andere Frage. Aber kann wohl nur an der Shell-Umgebung liegen. Viel Spaß beim Tüfteln. :P


    Schau mal nach, was so alles in deiner Umgebung läuft, in der es ja funktioniert.

    Code
    printenv


    Evtl. hängt es auch mit Java zusammen. Dass irgendeine Abhängigkeit existiert. Aber da kann ich dir nicht weiterhelfen.


    EDIT:
    Also den printenv in das Script. Damit du den Unterschied siehst.

    Code
    touch /share/MD0_DATA/.qpkg/env-test
    printenv > /share/MD0_DATA/.qpkg/env-test
  • Hi,


    ja das sieht fast so aus.
    keine Java Home kein Catalina Home angegeben etc.
    Ich probiere gerade mal aus und werde berichten.



    LG Hulli und danke nochmal für den Befahl und die Idee...



    ---edit---



    ich habe einen Unterschied gefunden könnte eventuell daran liegen oder hier ein Auszug:


    Code
    TERM=linux
    SHELL=/bin/sh
    CATALINA_HOME=/usr/local/tomcat
    ANT_HOME=/share/MD0_DATA/.qpkg/apache-ant
    USER=root


    User root gibt es doch garnicht oder? Bei meiner "normalen Umgebung steht da USER=admin.
    Wie kann ich das Umstellen? Oder muß ich das überhaupt umstellen???
    Ich denke ja nur wie???



    lg Hulli

    Einmal editiert, zuletzt von bladekiller () aus folgendem Grund: Editierfunktion nutzen und doppelte Beiträge vermeiden, siehe Forenregeln!

  • Hallo guten morgen,


    ich habe ein ts-469l und ich wollte gern ein kleines tool immer mit von selbst starten lassen. es selbst läuft über java
    in die qpkg.conf habe ich das eingetragen

    Code
    [Autorun]Name = autorunVersion = 0,1Autor = neomiliumDate = 2014.12.21Shell = /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.shINSTALL_PATH = /share/CACHEDEV1_DATA/.qpkg/autorunQPKG_File = autorun.qpkg


    in der autorun.sh

    Bash
    #!/bin/sh
    # Check for test binary
    test -f /opt/test/test.jar|| exit 0
    
    
    echo -n "Starting test: "
    cd /opt/test
    java -Xmx512m -Djava.library.path=. -jar test.jar
    echo "OK"


    nur leider passiert gar nix in der richtung nach dem hochfahren
    wenn ich die autorun per eingabe anspreche startet es einwandfrei ./autorun.sh


    hat vielleicht einer eine Idee was fehlt bzw falsch ist??


    vielen dank schon mal für eure hilfe.

  • Zitat von "m3a1t0z1e"

    nur leider passiert gar nix in der richtung nach dem hochfahren


    Die autorun.sh wird zu einem Zeitpunkt gestartet, zu dem Optware noch nicht läuft. Somit greift der erste Teil deines Scripts.

    Zitat von "m3a1t0z1e"
    Code
    test -f /opt/test/test.jar|| exit 0


    Ausserdem solltest du in allen solchen Scripten immer mit vollqualifizierten Pfaden arbeiten.

  • Ooops, hab grad gesehen, du versuchst die autorun.sh über eine Art QPKG zu starten. :oops:
    Dann liegts an den Pfaden. Versuchs mal mit absoluten Pfadangaben z.B.:

    Bash
    #!/bin/sh
    # Check for test binary
    test -f /share/CACHEDEV1_DATA/.qpkg/optware/test/test.jar|| exit 0
    
    
    echo -n "Starting test: "
    cd /share/CACHEDEV1_DATA/.qpkg/optware/test
    /pfad/zu/java -Xmx512m -Djava.library.path=/share/CACHEDEV1_DATA/.qpkg/optware/test -jar /share/CACHEDEV1_DATA/.qpkg/optware/test/test.jar
    echo "OK"
  • Hallo zusammen,


    sorry das ich ein so altes Thema wieder mal hervorziehen muss aber ich bringe den Autostart meines DNSMASQ nicht auf die Reihe.
    Der DNSMASQ läuft einbahnfrei wenn ich ihn manuell mit "/opt/etc/init.d/S56dnsmasq start" starte.


    Um den Start zu automatiseren habe ich dann entsprechend der Anleitung "http://wiki.qnap.com/wiki/Autorun.sh"


    alles genau nach der Methode "QPKG-based method" erstellt.
    Doch anscheinend wird die /share/MD0_DATA/.qpkg/autorun/autorun.sh nicht ausgeführt.
    Auch habe ich versucht wie auf der ersten Seite des Thread einen Log erstellen zu lassen doch auch das war ohne Erfolg.


    Der Eintrag in der "/etc/config/qpkg.conf" sieht bei mir so aus


    Code
    [autorun]Name = autorunVersion = 0.1Author = XXXDate = 2015-02-28Shell = /share/MD0_DATA/.qpkg/autorun/autorun.shInstall_Path = /share/MD0_DATA/.qpkg/autorunEnable = TRUE


    die autorun.sh liegt genau in dem Verzeichnis und sieht so aus


    Bash
    #!/bin/sh
    # Start von DNSMASQ - DHCP and DNS
    /opt/etc/init.d/S56dnsmasq start


    sollte das nicht reichen?


    Vielen Dank für eure Hilfe!


    Gruß
    Ralf



    Aso, habe ein Qnap TS-219p+ mit der aktuellsten Firmware.

    Einmal editiert, zuletzt von dr_mike () aus folgendem Grund: Code Blocks hinzugefügt, siehe Forenregeln!

  • Schau bitte einmal in /etc/rcS.d, an welcher Stelle dein Autorun zum Optware gestartet wird.
    Bei mir taucht zum beispiel Optware als "QS100Optware" auf,
    wenn danach dein "autorun" mit einer höheren Nummer angezeigt wird,
    gibt es kein Problem mit dem Symlink /opt.


    Erst mit diesem Symlink, der vom Optware erstellt wird, bekommst du Zugriff auf das dnsmasq.


    1.) Hast du das Script auch schon manuell gestartet ?


    2.)Hast du dein autorun.sh Script auch ausführbar gemacht ?
    Mit

    Code
    chmod +x /share/MD0_DATA/.qpkg/autorun/autorun.sh