MiServe DevTools

Vos autocollants

Épinglez vos outils ici. Ils sont enregistrés dans ce navigateur.

Explication d'expressions cron

Lisez une expression cron champ par champ et en une phrase simple, et voyez quand elle s'exécutera.

En clair

Ce que signifie chaque champ de l'expression
ChampValeurSignificationValeurs autorisées
Minute 0–59
Heure 0–23
Jour du mois 1–31
Mois 1–12, JAN–DEC
Jour de la semaine 0–7, SUN–SAT

Prochaines exécutions

ExécutionDélai

S'exécute dans votre navigateur. Rien de ce que vous collez n'est envoyé.

À propos de cet outil

Les cinq champs

Une expression cron se compose de cinq champs séparés par des espaces : minute (0–59), heure (0–23), jour du mois (1–31), mois (1–12) et jour de la semaine (0–7, où 0 et 7 désignent tous deux le dimanche). Cron consulte l'horloge une fois par minute et lance la tâche quand la minute, l'heure, le mois et le jour correspondent tous. Les deux champs de jour décident ensemble si le jour correspond, selon la règle décrite plus bas.

Dans chaque champ, * correspond à toutes les valeurs, une liste comme 1,15 à chacune de ses valeurs, une plage comme 1-5 à toutes les valeurs de la première à la dernière, et un pas comme */15 ou 8-18/2 retient une valeur sur N dans la plage. Les mois et les jours de la semaine peuvent s'écrire avec leur nom anglais en trois lettres, de JAN à DEC et de SUN à SAT.

Les macros sont des raccourcis : @hourly vaut 0 * * * *, @daily et @midnight valent 0 0 * * *, @weekly vaut 0 0 * * 0, @monthly vaut 0 0 1 * *, et @yearly et @annually valent 0 0 1 1 *.

Quand les deux champs de jour sont renseignés

Le jour du mois et le jour de la semaine ne se restreignent pas l'un l'autre. Quand les deux sont restreints, la tâche s'exécute les jours qui correspondent à l'un ou l'autre. 0 0 13 * 5 s'exécute donc à minuit le 13 de chaque mois et aussi chaque vendredi, et pas seulement le vendredi 13.

Vixie cron et cronie déterminent si un champ de jour est restreint d'après son premier caractère. Un champ qui commence par *, y compris un pas comme */2, est considéré comme non restreint, et les deux champs doivent alors correspondre. 0 0 */2 * 1 s'exécute les lundis qui tombent un jour impair du mois. Cet outil suit la même règle et vous indique lequel des deux cas s'applique.

Pas, fuseaux horaires et ce qui n'est pas lu

Un pas compte à partir du début de la plage et recommence au début quand la plage se termine. */15 dans le champ des minutes donne 0, 15, 30 et 45, soit bien toutes les 15 minutes. */7 donne 0, 7, 14 et ainsi de suite jusqu'à 56, puis de nouveau 0 quatre minutes plus tard. Le tableau liste les valeurs que donne un pas, pour que vous puissiez le constater.

Cron compare l'expression à l'horloge de la machine sur laquelle il tourne, et beaucoup de serveurs règlent cette horloge sur UTC. Choisissez Heure locale ou UTC au-dessus de la liste des prochaines exécutions pour correspondre à la machine, et lisez l'autre colonne pour voir les mêmes instants dans l'autre fuseau. Quand l'horloge locale change pour l'heure d'été, les implémentations de cron ne traitent pas toutes de la même façon les tâches prévues pendant l'heure sautée ou répétée. Cet outil ne liste aucune exécution à une heure sautée, et ne liste deux fois une heure répétée que si le champ des minutes ou celui des heures commence par *.

Seule la syntaxe standard à cinq champs est lue. Un champ des secondes, un champ de l'année et les caractères ?, L, W et # appartiennent à d'autres planificateurs, comme Quartz, et sont signalés comme des erreurs. Il en va de même pour un pas après une valeur unique, comme 5/15 : le manuel de crontab ne définit un pas qu'après * ou après une plage, écrivez donc 5-59/15.

Questions

Que signifie */5 dans une expression cron ?

Une valeur sur cinq, en partant de la plus petite valeur autorisée par le champ. Dans le champ des minutes, ce sont les minutes 0, 5, 10 et ainsi de suite jusqu'à 55 : la tâche s'exécute donc toutes les cinq minutes. Dans le champ des heures, ce sont les heures 0, 5, 10, 15 et 20.

0 0 13 * 5 s'exécute-t-il seulement le vendredi 13 ?

Non. Quand le jour du mois et le jour de la semaine sont tous deux restreints, cron lance la tâche dès que l'un des deux correspond. Cette expression s'exécute le 13 de chaque mois et chaque vendredi.

Le dimanche, c'est 0 ou 7 ?

Les deux. Le champ du jour de la semaine accepte les valeurs de 0 à 7, et 0 comme 7 désignent le dimanche. Le lundi vaut 1 et le samedi 6. Vous pouvez aussi écrire SUN, MON, etc.

Quel fuseau horaire cron utilise-t-il ?

Cron utilise l'horloge et le fuseau horaire du système sur lequel il tourne, sauf si votre planificateur permet de définir un fuseau pour la tâche. Beaucoup de serveurs et de planificateurs hébergés fonctionnent en UTC : vérifiez-le avant de supposer l'heure locale.

Autres outils de la catégorie Temps