Entrée Crontab avec plage horaire dépassant minuit


18

Cette spécification de temps crontab valide fait-elle ce qui est attendu:

0 22-4 * * *

Ou est-il nécessaire de faire quelque chose comme

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

Réponses:


5

Je n'ai jamais essayé d'utiliser une gamme comme celle-ci, et je ne sais pas si cela fonctionnerait. Donc, mon premier conseil serait de le tester et de voir ce qui se passe - mais probablement avec un script qui ne fait qu'une entrée de journal ou autre chose inoffensif.

Deuxièmement, pour ATT et BSD cron, vous ne pouvez pas avoir de plages et de listes coexistant, vous devez donc répertorier chaque heure séparément ou avoir deux lignes, une avec la plage et l'autre avec la liste.


Question modifiée pour être valide sur ATT / BSD par votre réponse. J'écris en fait "ma" spécification crontab dans la configuration du travail Jenkins (et je le testerai ce soir avec un travail factice), mais je demande ici quel est le comportement attendu sur le système Unix / Linux.
hyde

En fait, je m'attendrais à ce que cela ne fonctionne pas et j'en serais agréablement surpris. Mais je m'attendrais également à ce que cron se plaigne si vous entrez une plage non valide.
Jenny D

12

J'ai eu des problèmes avec Cronjobs pendant minuit. J'ai fini par mettre deux entrées presque identiques pour les scripts impliqués.

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

Cela semblait faire l'affaire.
J'éprouvais des échecs cron à cause de l'utilisation du 22-05, et par processus d'élimination, j'ai trouvé cette solution.


Juste une note, il ne semble pas fonctionner avec */5, c'est-à-dire:*/5 00-05 * * * /myscript
dentex

8

Il y a un large éventail de démons cron autour, à moins que vous ne disiez lequel exactement vous utilisez (la gestion des listes dans de tels cas de coin pourrait très bien changer d'une version à la suivante), il ne peut y avoir de réponse. Le mieux est d'aller avec votre liste explicite. Je ne serais pas trop surpris si une mise en œuvre prend votre récapitulation comme une façon étrange de dire 4-22...

Votre documentation locale mentionne-t-elle même ce genre de cas? Peut-être qu'il est légal d'avoir deux listes, par exemple 22-24,1-4?


8
Je peux confirmer que 22-23,0-4(notez que crontab ne fonctionne pas 24) fonctionne parfaitement, au moins sur les centos sur lesquels je l'ai testé.
qwertyboy
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.