Cron Ausdruck von-bis nicht zur Stunde

machiavelli1986

Commander Pro
Registriert
Feb. 2008
Beiträge
2.786
Ich stehe gerade etwas auf dem Schlauch. Ich habe folgenden Cron-Ausdruck

5/5 * 6-17 ? * MON-SAT *

Dieser besagt, dass mein Job alle 5 Sekunden zwischen 06.00 und 18.00 ausgeführt wird. Dies von Montag bis Samstag.
Nun möchte ich aber, dass der Job um 06.05 startet. Irgendwie krieg ich das aber nicht hin, Wenn ich eine von-bis Zeitspanne habe die nicht innerhalb derselben Stunde stattfindet. Kann mir da jemand den Knoten öffnen?:-)

Danke.
 
Ich kann dir gerade nicht so recht folgen. Der Job soll um 06:05 Uhr starten, aber das von 6-17 Uhr? Hä? Ein Eintrag ist im Prinzip wie ein rudimentärer regulärer Ausdruck. Die Wildcards (*), Bereiche (x-y), Aufzählungen (6,8,10) und natürlich die definierten Zahlen (6) werden auf die aktuelle Zeit gematched und wenn's passt, wird das Kommando ausgeführt.

Wenn du einen komplexen Zeitplan hast, der mit diesen Mitteln nicht abgedeckt werden kann, musst du den Eintrag duplizieren und entsprechend anpassen. Es spricht also grundsätzlich nichts dagegen, dasselbe Kommando in 3 Zeilen abzufrühstücken. Beispielsweise wenn ein Job Mo-Fr alle 5 Minuten laufen soll, am Sa-So aber nur einmal pro Stunde.
 
  • Gefällt mir
Reaktionen: abcddcba
Nein er soll um 6:05 starten statt 06:00. Die Eingabe findet auf einem proprietärem Programm unseres Entwicklers statt. Ich weiss nicht ob das ein Programmierfehler ist oder bei Cron so ist....wenn ich aber 6-17 eingebe wird der Job effektiv ab 06:00 bis 17:59:59 ausgeführt.
Jetzt möchte ich einzig die Startzeit um 5 Minuten verschieben.
 
Zum einen kann cron meines Wissens kein Interval <1 Minute direkt abbilden oder hast du dich oben mit den "alle 5 Sekunden" verschrieben? Zum anderen sieht die Syntax komisch aus für cron oder!?

Angenommen, du meinst "alle 5 Minuten" und nur um 6:00 soll er erst um 6:05 anfangen, brauchst du wahrscheinlich zwei Einträge. Einen für die Phase 06:05-06:55 und einen Eintrag für 07:00-17:00.

Dürfte nach deinem Schema so aussehen:
5/5 * 6 ? * MON-SAT *
*/5 * 7-17 ? * MON-SAT *
 
Ich denke unser Entwickler hat das etwas zusammengebastelt. Der 5-Sekundentakt lässt sich nämlich so, mit Start ab 06.05 Uhr, nicht implementieren. Da geht es dann erst ab dem 1-Minuten-Intervall los. Frag ich mal an, wird wohl die einfachste Lösung sein:-) Danke für Eure Hilfe.
 
Ich meine mich zu erinnern, dass der Cron Service sowieso nur 1x pro Minute checkt. Kann mich aber auch irren.
 
Du schreibst wirre (nicht pejorativ gemeint!), sich teilweise widersprechende und unklare Dinge.
Dein Problem kann man nur lösen, indem Du folgende sich daraus ergebenden Fragen beantwortest...

machiavelli1986 schrieb:
Ich stehe gerade etwas auf dem Schlauch. Ich habe folgenden Cron-Ausdruck

5/5 * 6-17 ? * MON-SAT *
Das "Format" von cron/crontab sieht nur 5 Zeitangaben vor, Du hast aber 7!
Zusätzlich kommt bei Dir ein "?" vor, das gar nicht auftauchen sollte!

machiavelli1986 schrieb:
Dieser besagt, dass mein Job alle 5 Sekunden zwischen 06.00 und 18.00 ausgeführt wird. Dies von Montag bis Samstag.
Wie meine Vorposter schon geschrieben haben, ist die "Auflösung" von cron Minuten, nicht Sekunden!
Hast Du oder jemand anderes (Zitat:"unser Entwickler") eine "proprietäre Erweiterung" vorgenommen?

machiavelli1986 schrieb:
Nun möchte ich aber, dass der Job um 06.05 startet. Irgendwie krieg ich das aber nicht hin, Wenn ich eine von-bis Zeitspanne habe die nicht innerhalb derselben Stunde stattfindet. Kann mir da jemand den Knoten öffnen?:-)
Mir (und offensichtlich auch allen Anderen) ist noch nicht so ganz klar was Du eigentlich willst:
Willst Du Deinen Cron-Job alle 5 Minuten zwischen 6:05 und 17:55 (beides inklusive) ausgeführt haben, oder sollen jede Stunde die "Nullerminuten", also 6:00, 7:00, ..., 17:00 wegfallen? Oder etwas ganz anderes?
 
machiavelli1986 schrieb:
5/5 * 6-17 ? * MON-SAT *
was ist das fuer ein Format? Es ist nicht Standard Cron, das waere
MIN HOUR DOM MON DOW CMD

machiavelli1986 schrieb:
Dieser besagt, dass mein Job alle 5 Sekunden zwischen 06.00 und 18.00 ausgeführt wird.
nein, wenn dann Minuten. Oder du nutzt irgendwas anderes was du nicht erwaehnt hast. Magst du das mal nennen?
 
BigNum schrieb:
Du schreibst wirre (nicht pejorativ gemeint!), sich teilweise widersprechende und unklare Dinge.
Dein Problem kann man nur lösen, indem Du folgende sich daraus ergebenden Fragen beantwortest...


Das "Format" von cron/crontab sieht nur 5 Zeitangaben vor, Du hast aber 7!
Zusätzlich kommt bei Dir ein "?" vor, das gar nicht auftauchen sollte!


Wie meine Vorposter schon geschrieben haben, ist die "Auflösung" von cron Minuten, nicht Sekunden!
Hast Du oder jemand anderes (Zitat:"unser Entwickler") eine "proprietäre Erweiterung" vorgenommen?


Mir (und offensichtlich auch allen Anderen) ist noch nicht so ganz klar was Du eigentlich willst:
Willst Du Deinen Cron-Job alle 5 Minuten zwischen 6:05 und 17:55 (beides inklusive) ausgeführt haben, oder sollen jede Stunde die "Nullerminuten", also 6:00, 7:00, ..., 17:00 wegfallen? Oder etwas ganz anderes?

Was ist wirr an meinen Aussagen? Steht ja alles ganz genau oben, auch, dass ich nicht der Entwickler bin. Mittlerweile gehe ich von einer Lösung aus die nicht ganz "Cron-Konform" ist, auf Grund eures Feedbacks und Recherchen im Netz. Die Funktion wird als "Cron" angepriesen, deshalb war mir zu Beginn nicht bewusst, dass hier wohl Abweichungen zu Cron bestehen. Da muss ich wohl mit unserem Entwickler schauen.
 
Zurück
Oben