Fehler im cronjob

  • Hallo zusammen.
    Irgendwo ist ein kleiner Fehler, aber ich komme nicht drauf. Ich möchte meine Funksteckdosen per cronjob steuern. Installiert habe ich das mit dieser Seite: https://www.einplatinencompute…z-funksteckdose-schalten/.
    Per Hand funktioniert das. Jetzt möchte ich einen cronjob einrichten. Den habe ich systemweit in der /etc/crontab geschrieben. Zum Testen soll die Steckdose um 12:37 ein- und zwei Minuten später wieder ausgeschaltet werden. Der Eintrag lautet:

    Code
    37 12 * * * root /home/pi/raspberry-remote/send 10000 1 1
    39 12 * * * root /home/pi/raspberry-remote/send 10000 1 0


    Auch mit

    Code
    37 12 * * * pi /home/pi/raspberry-remote/send 10000 1 1
    39 12 * * * pi /home/pi/raspberry-remote/send 10000 1 0


    klappt es nicht.


    Wo ist der Fehler? Kann mir jemand helfen?
    MfG und frohe Weihnachten,
    Suwo

  • Hallo.
    Vielen Dank für den Link. Die und andere Seiten über Cronjobs habe ich schon gelesen. Ich bin der Meinung, dass ich keinen Fehler eingebaut habe. Aber vermutlich steckt der Fehler im Detail, den ich nicht finde. Ein Fingerzeig wäre schon hilfreich.



    MfG,


    Suwo

  • Versuche Mal dein Command in ein kleines Shell Script umzulagern. Wenn das läuft rufst du nur noch das im cron auf.

  • Moin Moin,


    Cron weiß nicht was Du anstellen möchtest.


    Du könntest es mal so versuchen:


    [font="monospace"]37 12 * * * root /bin/bash /home/pi/raspberry-remote/send 10000 1 1[/font]


    Sonst muss es wohl in ein Script.


    Gruß Jan

  • Über meinen Link findest du eine Beschreibung um eventuelle Fehlermeldungen von crontab nachzuprüfen.



    Trotzdem werden schwerwiegende Fehler noch ins /var/log/syslog geschrieben und dort sollte auch der erste Ort sein wo ihr nachguckt wieso/weshalb/warum ein Befehl/Script über crontab nicht funktionieren will


    Ich bitte daher erneut meine Anleitung genau und vollständig zu lesen.


    schnoefftel: bei "send" handelt es sich nicht um ein bash Script sondern um eine Binary wie "ls" usw. Man kann über crontab problemlos Binaries direkt ausführen - sofern diese Ausführbar (chmod +x) sind.
    Folgender Eintrag funktioniert problemlos:

    Code
    * * * * *     ls / >/tmp/test 2>&1

    könnt ihr ja mal selber ausprobieren und über "crontab -e" in die Benutzercrontab eintragen.


    Wenn er tatsächlich die Systemcrontab /etc/crontab verwendet dann ist die von Ihm gezeigte Syntax korrekt. Es gibt aber auch noch eine andere Crontab nämlich die der Benutzer bzw jeder Benutzer hat seine eigene. Dort ist die Syntax minimal anders - aber hat er es darüber schon probiert? Anscheint nicht.... Und mögliche Fehlermeldungen hat er auch nicht nachgeschaut oder zumindest Uns davon nichts erzählt.

  • :blush: Entschuldigung.


    Ich habe den cronjob zum Testen immer zwei Minuten nach der Systemzeit meines PC gesetzt. Allerdings war im raspi noch die falsche Zeitzone (- 1 Std.) eingestellt. D.h.: hätte ich eine Stunde gewartet hätte es natürlich gefunzt. Jetzt klappt es.
    Noch einmal: Entschuldigung, und vielen Dank für die Hilfe.


    Einen schönen Restfeiertag,


    Suwo