[SOLVED] Cron-Job Problem

    • Offizieller Beitrag

    Linux-cracks aufgepaßt!


    Kann mir wer erklären, warum dieses Script auf meinem Raspberry Pi nicht funktioniert, wenn ichs über cron aufrufe? Habs im crontab vom root und vom user "pi" probiert. Cron soll das Script alle 10min laufen lassen, um zu überprüfen, ob der Browser eh noch läuft.
    Starte ich das Script per Hand, gehts problemlos. Midori startet und läuft.
    /var/log/syslog sagt mir, dass cron das script startet. Aber ich sehe, dass Midroi nicht startet :(


    Bash
    #!/bin/bash
    while true ; do
       if
         ps | grep midori ; then exit;
       else
          pkill -9 midori
    export DISPLAY=:0 && midori --log-file=/home/pi/midori.log -e Fullscreen -c /home/pi/.config/midori -a file:///home/pi/watchdog.html &
          exit;
       fi
    done
  • Wie sagst du im Crontab, dass er den Befehl als root laufen soll? So mache ich das immer:


    Code
    /usr/bin/sudo -u root TERM=dumb <mein script aufruf>


    Klingt nämlich für mich danach, dass er im Cron-Aufruf keine Rechte hat, wenn du sagst, dass es funzt, wenn du es manuell als root aufrufst.

    • Offizieller Beitrag

    nö, es geht sogar, wenn ichs manuell als user "pi" aufrufe! ganz ohne root! und ich habs wie gesagt auch im user-crontrab probiert, wo gar keine root-rechte nötig wären (der user "pi" ist automatisch eingelogged am raspi, also sollte auch sein crontab arbeiten).
    ich hab mal bissi gegoogelt und mein grep argument verfeinert. außerdem hab ich die while-schleife weggelassen. die hatte ich aus nem anderen bash-script, und brauch ich in meinem fall eigentlich nicht! aktuell heißt das script jetzt so:


    Code
    if
            ps aux | grep [m]idori ;
       then
            exit;
       else
            pkill -9 midori;
            export DISPLAY=:0 && midori --log-file=/home/pi/midori.log -e Fullscreen -c /home/pi/.config/midori -a file:///home/pi/watchdog.html &
            exit;
       fi


    mit obigem script scheint es jetzt zu gehen. . jedenfalls schon länger als 10min *g* morgen seh ichs dann eh im büro, ob der screen noch das browser-fenster anzeigt oder nicht :)

    • Offizieller Beitrag

    So .. der Vollständigkeit halber hier das Script, das ich jetzt benutze, und mit dems geht:


    Bash
    #!/bin/bash
    if ps aux | grep [m]idori ;
    then
            exit;
    else
            pkill -9 midori;
            export DISPLAY=:0 && WEBKIT_IGNORE_SSL_ERRORS=1 midori --log-file=/home/pi/midori.log -e Fullscreen -c /home/pi/.config/midori -a file:///home/pi/lifescreen.html &
            exit;
    fi


    hatte ich zwar schon gepostet, aber jetzt setz ich den Thread auch auf SOLVED :)