Générateur et explicateur d'expression cron
Collez une expression cron pour voir ce qu'elle fait en français, champ par champ, et ses prochaines exécutions dans le fuseau de votre choix. Fonctionne avec crontab, Kubernetes, GitHub Actions et Quartz. Vous pouvez aussi construire l'expression à partir de l'horaire voulu.
Saisissez ou collez une expression
Ou choisissez un des exemples. L'explication et les prochaines exécutions s'affichent ici.
Construire une expression
Choisissez la fréquence et l'heure. L'expression suit le format choisi plus haut.
0 9 * * 1-5À 09:00, du lundi au vendrediQu'est-ce qu'une expression cron
C'est une ligne de champs séparés par des espaces qui dit quand un job tourne. Le crontab de Linux, le CronJob de Kubernetes et le schedule de GitHub Actions utilisent 5 champs. Quartz, un planificateur Java, ajoute les secondes au début et une année facultative à la fin.
Les 5 champs du cron standard
L'ordre est toujours minute, heure, jour du mois, mois et jour de la semaine. 30 9 * * 1 veut dire minute 30, heure 9, n'importe quel jour du mois, n'importe quel mois, lundi.
| Champ | Valeurs |
|---|---|
| Minute | 0 à 59 |
| Heure | 0 à 23 |
| Jour du mois | 1 à 31 |
| Mois | 1 à 12 ou JAN à DEC |
| Jour de la semaine | 0 à 6 ou SUN à SAT (0 est dimanche) |
Astérisque, virgule, tiret et barre oblique
- * accepte n'importe quelle valeur du champ.
- La virgule sépare des valeurs : 0,30 dans les minutes tourne aux minutes 0 et 30.
- Le tiret marque une plage : 1-5 dans le jour de la semaine va du lundi au vendredi.
- La barre oblique fixe le pas : */15 dans les minutes tourne toutes les 15 minutes, et 9-17/2 dans les heures tourne à 9, 11, 13, 15 et 17 h.
Ce qui change dans Quartz
Le premier champ contient les secondes, et dimanche vaut 1 (samedi vaut 7). L'un des champs de jour doit être ?, qui veut dire sans valeur. Quartz accepte aussi L pour le dernier jour du mois, LW pour le dernier jour ouvré, 15W pour le jour ouvré le plus proche du 15, 6L pour le dernier vendredi et 6#3 pour le troisième vendredi du mois.
Fuseau horaire et heure d'été
L'expression ne contient pas de fuseau. Crontab utilise celui du serveur, GitHub Actions utilise UTC et Kubernetes celui du controller, sauf si spec.timeZone est défini. Pour lancer un job à 9 h à Paris (UTC+2 en été) sur un planificateur en UTC, l'heure est 7. Dans les fuseaux avec heure d'été, une heure peut ne pas exister le jour où l'horloge avance, ou se produire deux fois quand elle recule. La liste des exécutions signale ces cas.
Questions fréquentes sur les expressions cron
Ce que se demandent ceux qui planifient des jobs dans crontab, Kubernetes, GitHub Actions et Quartz.