Crontab Eintrag funktioniert nicht

  • Hallo liebes Forum,

    yey mein erster eigener Thread. :D

    Zu meinem Problem. Ich setzte über ein Python Skript crontab Einträge und das funktioniert soweit auch. Die Einträge werden sauber in die root crontab geschrieben.
    Dazu verwende ich das Modul python-crontab.

    Die Zeitparameter werden in dem Python Skript folgendermaßen angelegt:

    Code
    trigger.hour.during(14,23).every(2)

    Als Beispiel der folgende Eintrag:

    Code
    * 14-23/2 * * * /opt/bla/test.sh # ID Test tasks

    In dem Shell Script wird ein GPIO Port geschalten an dem ein Relay hängt. Mehr passiert nicht.

    Das Problem ist jetzt, das der Task gefühlt alle 2 Minuten (Noch nicht genau aufgepasst. :shy: ) ausgeführt und das Relay angeschalten wird.
    Aber nach meinem Verständnis sollte der Task zwischen 14 und 23 Uhr alle 2 Stunden ausgeführt werden. :s
    Übersehe ich hier etwas? Ich war bei meiner Suche durch Google leider nicht wirklich erfolgreich. :S

    Vielen Dank im Voraus! :)

  • Code
    * 14-23/2 * * * /opt/bla/test.sh # ID Test tasks

    Das Problem ist jetzt, das der Task gefühlt alle 2 Minuten (Noch nicht genau aufgepasst. :shy: ) ausgeführt und das Relay angeschalten wird.
    Aber nach meinem Verständnis sollte der Task zwischen 14 und 23 Uhr alle 2 Stunden ausgeführt werden. :s

    FAQ => Nützliche Links / Linksammlung => crontab

    Da du für den Minuten Wert ein Sternchen verwendest, wird das Script im Zeitraum von 14 bis 23 Uhr jede Minute ausgeführt. Wenn du möchtest das es nur zur vollen Stunde ausgeführt wird musst du * mit 0 ersetzen.
    Ob 14-23/2 überhaupt funktioniert glaub ich auch nicht, besser wäre hier die genaue Zeit anzugeben: 14,16,18,20,22
    Falls 14-23/2 nicht funktioniert kannst du die genauen Stunde auch direkt auflisten: 14,16,18,20,22


  • Ob 14-23/2 überhaupt funktioniert glaub ich auch nicht, besser wäre hier die genaue Zeit anzugeben: 14,16,18,20,22

    Warum sollte das nicht funktionieren und warum sollte das explizite Auflisten der Stunden "besser" sein?

    Zitat von "man 5 crontab"


    Step values can be used in conjunction with ranges. Following a range with ``/<number>'' specifies skips of the number's value through the range. For example, ``0-23/2'' can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is ``0,2,4,6,8,10,12,14,16,18,20,22''). Steps are also permitted after an asterisk, so if you want to say ``every two hours'', just use ``*/2''.

    Einmal editiert, zuletzt von Manul (26. August 2016 um 22:23)


  • Warum sollte das nicht funktioneren und warum sollte das explizite Auflisten der Stunden "besser" sein?

    :sleepy: Bin noch nicht ganz wach :blush:

    Du hast Recht, es funktioniert auch 14-23/2

    Angenommen er möchte aber auch ungerade Uhrzeiten und deckt das mit einem zweiten Crontabeintrag ab, wäre es dann besser die Stunde direkt aufzulisten - mit nur einem Crontabeintrag. Also zum Beispiel: 14,15,17,18,20,22

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!