Batch-Skripte laufen nicht mehr nach Update

  • Ich habe zwei Batch-Skripte, die nach einem Update der Firma des NAS nicht mehr laufen und ich kann mir einfach nicht erklären warum. (Hinweis: ich hatte vergessen die Skripte vorher zu sichern bzw. eigentlich wollte ich garnich auf Update klicken :) ). Vielleicht hat einer von Euch einen Tipp, wie ich die wieder zum Laufen bekomme.


    Das komische ist übrigens: Wenn ich das Skript in der Shell starte, dann läuft es problemlos, aber nicht, wenn ich es über eine Cronjob aufrufe.


    Es handelt sich um folgende Skripte:


    Code
    -rwxr-xr-x    1 admin    administ      248 Dec  4 15:49 /usr/local/bin/XS1Watchdog.sh*-rwxr-xr-x    1 admin    administ     2795 Dec  4 15:50 /usr/local/bin/XSConnector1.sh*[~] #


    Die werden über folgenden Cronjob gestartet:

    Code
    */6 * * * * /usr/local/bin/XS1Watchdog.sh


    Das Watchdog-Skript sieht so aus:

    Bash
    #!/bin/bash# check if xs1Socket is runningif [ "$( ps ax | grep 'XSConnector1\.sh' | grep -v grep)" ]; then  echo "xs1Socket is running!"else  logger "xs1Socket not running. Starting."  #start xs1Socket  /usr/local/bin/XSConnector1.sh &fi


    Nach ein paar Minuten laufen dann folgende Prozesse


    Code
    [~] # ps ax | grep XS
     6648 admin       788 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     7378 admin       788 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     8154 admin       788 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     8439 admin       548 S   grep XS
    [~] #
  • Hi,


    1) Du befindest Dich im ram, wodurch alles nach einem Neustart weg wäre…
    2) Ist die Shebang nicht gerade richtig.


    Beides findest Du hier im Forum ;)


    Grüsse, David

  • zu 1.) Komisch, bei mir nicht - hab jetzt extra mal nen Reboot gemacht, is aber noch alles da...
    zu 2.) Das Shebang-Stichwort war es: bei einem Befehl hatte der Pfad gefehlt...


    DANKE!

  • Hi,


    ganz sicher, dass die Script's nach einem Neustart noch in /usr/local/bin liegen?


    Grüsse, David

  • Ja, ganz sicher. Ich habe es extra ausprobiert. Es ist mir auch vorher nicht aufgefallen, dass die dort verloren gingen.
    Außer nach einem FirmwareUpdate sind sie weg.

  • Dann läuft vorher wahrscheinlich ein script in der autorun.sh oder so, das es da hinkopiert…
    Bei mir iss alles wesch (was auch eigentlich richtig ist) ^^


    Aber egal ;) Wenn es funktioniert um so besser ;)


    Grüss,e David

  • Einen interessanten und ärgerlichen Aspekt habe ich jetzt aber noch festgestellt:


    Die Skripte laufen jetzt nicht mehr unter ihrem aufgerufenen Namen, also z.B. XSConnector1.sh, sondern unter den Befehlen, die im Skript ausgeführt werden z.B.


    Code
    [~] # /bin/ps ax | /bin/grep netcat 6020 admin       608 S   /opt/bin/netcat-nc 192.168.178.242 451 6455 admin       608 S   /opt/bin/netcat-nc 192.168.178.242 451 6756 admin       612 S   /opt/bin/netcat-nc 192.168.178.242 451 6759 admin       612 S   /opt/bin/netcat-nc 192.168.178.242 451 6887 admin       568 R   /bin/grep netcat


    Hat sich da irgendwie was grundsätzlich geändert?


    Nachtrag: Und mein Watchdog-Skript läuft auf einmal auch nicht einmal alle 6 Minuten, sondern unendlich.... ahhh... _hurted:

    Code
    [~] # ps ax | grep XS1
     5989 admin       788 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     6452 admin       788 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     6529 admin       792 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     6562 admin       756 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     7478 admin       468 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     7484 admin       468 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     7490 admin       472 S   /bin/bash /usr/local/bin/XS1Watchdog.sh
     7501 admin       548 S   grep XS1
  • Hallo Matze, wir kennen uns bereits aus dem myezcontrol Form. Wo speichere ich denn nun am besten die Scripte. Hatte sie testhalber mal in meinen Public share gezogen und die crontab geändert. Irgendwie wird aber mein Watchdog Script nicht ausgeführt. Wenn ich es manuell per putty ausführe klappt es.