Init-Skripte im Crontab funktionieren nicht

  • Hallo,


    ich habe unter debian Squeeze folgendes Problem:
    Wenn ich
    /etc/init.d/motion start
    ausführe, funktioniert das wunderbar


    Aber in meinem Crontab funktioniert es nicht

    Code
    crontab-l
    56 16 * * * whoami >/motionstartstop.log
    57 16 * * * /etc/init.d/motion start >>/motionstartstop.log
    59 16 * * * /etc/init.d/motion stop >>/motionstartstop.log
    
    
    cat /motionstartstop.log
    root
    Starting motion detection daemon: motion failed!
    Stopping motion detection daemon: motion failed!


    Wie kann ich dem auf die Schliche kommen?
    Oder ist das für euch offensichtlich?


    Gruß,
    Hendrik

  • Ich tippe mal auf Environment-Abweichungen. PATHs, oder ähnliches. Mach mal ein set > /tmp/cron-env.txt in crontab und vergleiche es mit der Konsolenausgabe.


    Oder besser noch: irgendwie scheint es mir grundsätzlich eine sehr seltsame Vorgehensweise zu sein. Ich würde - was auch immer du da versuchst - das ganze eher ohne init-skripte und mit einem crontab-Eintrag machen. Etwa in dem Stil:
    /usr/local/bin/cron-motion:

    Bash
    #!/bin/bash
    whoami >/motionstartstop.log 2>&1
    /usr/bin/motion whatever >>/motionstartstop.log 2>&1 &
    PID=$?
    sleep 120
    kill $PID >>/motionstartstop.log 2>&1

    .. und dann dieses Skript aus der crontab aufrufen. Besser noch, statt in der crontab rumzufummeln, das ganze nach /etc/cron.hourly packen.


    Gruß,


    Udo

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!