Crontab-Eintrag mit Stundenbereich über Mitternacht

18

Ist dies eine gültige Crontab-Zeitangabe, die das tut, was erwartet wird:

0 22-4 * * *

Oder ist es notwendig, so etwas zu tun

0 22,23,0,1,2,3,4 * * *
hyde
quelle

Antworten:

5

Ich habe noch nie versucht, einen solchen Bereich zu verwenden, und ich bin mir nicht sicher, ob es funktionieren würde. Mein erster Rat wäre also, es zu testen und zu sehen, was passiert - allerdings wahrscheinlich mit einem Skript, das nur einen Protokolleintrag oder etwas anderes Unschädliches ausführt.

Zweitens können für ATT- und BSD-Cron keine Bereiche und Listen gleichzeitig vorhanden sein, sodass Sie entweder jede Stunde einzeln auflisten müssen oder zwei Zeilen, eine mit dem Bereich und eine mit der Liste.

Jenny D
quelle
Geänderte Frage, die nach Ihrer Antwort für ATT / BSD gültig ist. Eigentlich schreibe ich "meine" Crontab-Spezifikation in die Jenkins-Jobkonfiguration (und werde diese heute Abend mit Dummy-Job testen), aber ich frage hier, was das erwartete Verhalten unter Unix / Linux-Systemen ist.
Hyde
Eigentlich würde ich erwarten, dass es nicht funktioniert und wäre angenehm überrascht, wenn es funktioniert. Ich würde aber auch erwarten, dass sich cron beschwert, wenn Sie einen ungültigen Bereich eingeben.
Jenny D
11

Ich hatte Probleme, Cronjobs über Mitternacht auszuführen. Am Ende habe ich zwei fast identische Einträge für die betreffenden Skripte eingegeben.

* 22-00 * * * /myscript
* 00-05 * * * /myscript

das schien den Trick zu tun.
Ich hatte Cron-Fehler, weil ich 22-05 verwendet habe, und durch den Prozess der Eliminierung kam ich auf diese Lösung.

user73420
quelle
Nur eine Anmerkung, es scheint nicht zu funktionieren */5, dh:*/5 00-05 * * * /myscript
dentex
8

Es gibt eine große Auswahl an Cron-Daemons, es sei denn, Sie sagen, welches genau Sie verwenden (die Behandlung von Listen in solchen Eckfällen kann sich sehr gut von einer Version zur nächsten ändern), es kann keine Antwort geben. Am besten gehen Sie mit Ihrer expliziten Liste um. Es würde mich nicht überraschen, wenn eine Implementierung Ihren Umbruch als seltsame Redewendung interpretieren würde 4-22...

Erwähnt Ihre lokale Dokumentation überhaupt einen solchen Fall? Vielleicht ist es legal, zwei Listen zu haben, z 22-24,1-4.

vonbrand
quelle
8
Ich kann bestätigen, dass 22-23,0-4(beachten Sie, dass Crontab nicht funktioniert 24), zumindest auf den Centos, auf denen ich es getestet habe, einwandfrei funktioniert.
Qwertyboy