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 * * *
hyde
la source

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.

Jenny D
la source
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.

user73420
la source
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?

vonbrand
la source
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