Lire une expression cron
Une expression cron Unix classique comporte 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–6, 0 et 7 désignant dimanche). Une tâche s’exécute dès que l’heure courante correspond à tous les champs. L’astérisque signifie « n’importe quelle valeur » : * * * * * s’exécute donc chaque minute.
Dans un champ, on peut combiner des valeurs : la virgule crée une liste (1,15), le tiret une plage (9-17) et la barre oblique un pas (*/10 signifie toutes les 10 unités). La plupart des implémentations acceptent aussi les noms anglais comme JAN ou MON.
Pourquoi le dialecte compte
Tous les planificateurs ne parlent pas le même cron. Quartz et Spring ajoutent un champ secondes au début, AWS EventBridge un champ année à la fin, et Quartz et AWS numérotent les jours à partir de 1 = dimanche au lieu de 0. Quartz et AWS exigent en outre un point d’interrogation dans le jour du mois ou le jour de la semaine. CronExplain détecte le dialecte d’après la forme de l’expression, et vous pouvez le modifier à tout moment.
Prochaines exécutions et fuseaux horaires
La liste est calculée sur l’heure murale du fuseau choisi, puis affichée à côté de votre heure locale. Le changement d’heure est traité comme dans la plupart des planificateurs : une heure sautée au passage à l’heure d’été ne s’exécute pas ce jour-là, et une heure répétée au retour à l’heure d’hiver ne s’exécute qu’une fois. GitHub Actions et les règles AWS EventBridge utilisent toujours l’UTC ; l’outil passe donc en UTC pour ces dialectes.
Créer une expression visuellement
Si vous préférez cliquer plutôt que taper, utilisez le générateur visuel : choisissez « chaque », « toutes les N » ou des valeurs précises pour chaque champ, puis copiez le résultat. Les préréglages couvrent les planifications les plus courantes, de toutes les cinq minutes au premier jour du mois, et chaque résultat se partage via un lien qui conserve l’expression dans l’URL.
Questions fréquentes
- Que signifie */5 * * * * ?
- La tâche s’exécute toutes les cinq minutes : aux minutes 0, 5, 10, etc. de chaque heure, tous les jours. Le pas */5 part de la plus petite valeur du champ (0) et ajoute 5 à chaque fois.
- Dimanche vaut-il 0 ou 7 dans cron ?
- Dans crontab standard, Kubernetes, GitHub Actions et Spring, 0 et 7 désignent tous deux dimanche. Dans Quartz et AWS EventBridge, la semaine va de 1 = dimanche à 7 = samedi : 0 y est invalide.
- Que se passe-t-il si je définis le jour du mois et le jour de la semaine ?
- Le cron standard exécute la tâche dès que l’un des deux correspond : 0 0 13 * 5 s’exécute le 13 et tous les vendredis. Quartz et AWS n’autorisent pas les deux, d’où l’obligation de mettre « ? » dans l’un d’eux.
- Quel fuseau horaire cron utilise-t-il ?
- Crontab utilise le fuseau local du serveur, Kubernetes celui du contrôleur sauf si spec.timeZone est défini, et GitHub Actions ainsi que les règles EventBridge utilisent l’UTC. Choisissez le fuseau dans l’outil pour voir les heures exactes.
- Mon expression est-elle envoyée à un serveur ?
- Non. L’analyse, les descriptions et le calcul des exécutions se font dans votre navigateur. Rien de ce que vous saisissez ne quitte votre appareil.