Aller au contenu
CronExplain

Aide-mémoire de la syntaxe cron

Une référence d’une page pour la syntaxe cron des dialectes courants : quels champs existent, quelles valeurs ils acceptent et ce que fait chaque caractère spécial. Essayez chaque exemple dans l’explicateur.

Champs et valeurs autorisées

ChampValeursRemarques
Seconde0–59Quartz, Spring et cron à 6 champs uniquement
Minute0–59Premier champ dans crontab et AWS
Heure0–23Format 24 heures
Jour du mois1–31L, W et LW dans Quartz, Spring, AWS
Mois1–12 ou JAN–DECNoms insensibles à la casse
Jour de la semaine0–7 ou SUN–SATQuartz et AWS : 1–7, 1 = dimanche
Année1970–2199Facultatif dans Quartz, obligatoire dans AWS

Caractères spéciaux

SymboleSignificationExemple
*N’importe quelle valeur* * * * * — chaque minute
,Liste de valeurs0 9,17 * * * — 09:00 et 17:00
-Plage0 9 * * 1-5 — en semaine à 09:00
/Pas*/15 * * * * — toutes les 15 minutes
?Aucune valeur précise (champs de jour)0 0 12 ? * MON — Quartz
LDernier jour / dernier jour de semaine0 0 0 L * ? — dernier jour du mois
WJour ouvré le plus proche0 0 9 15W * ? — jour ouvré le plus proche du 15
#N-ième jour de la semaine du mois0 0 9 ? * 2#1 — premier lundi

Macros

Macroscrontab standard
@yearly / @annually0 0 1 1 *
@monthly0 0 1 * *
@weekly0 0 * * 0
@daily / @midnight0 0 * * *
@hourly0 * * * *

Ordre de lecture

Lisez l’expression de la plus petite unité à la plus grande : 30 2 * * 1 correspond à la minute 30 de l’heure 2, n’importe quel jour du mois, n’importe quel mois, quand le jour est lundi — soit 02:30 chaque lundi. Pour Quartz et Spring, ajoutez le champ secondes devant ; pour AWS, l’année à la fin.

Pièges courants

*/7 dans le champ minutes ne signifie pas « toutes les sept minutes indéfiniment » : le pas repart à chaque heure, donc il se déclenche à 0, 7, … 56 puis de nouveau à 0. Restreindre les deux champs de jour dans crontab signifie qu’il suffit que l’un corresponde. Et 0 dans le jour de la semaine est invalide dans Quartz et AWS, où la semaine commence à 1.

Questions fréquentes

Dans quel ordre sont les champs cron ?
Minute, heure, jour du mois, mois, jour de la semaine. Quartz et Spring placent les secondes devant ; AWS ajoute une année à la fin.
Que signifie le point d’interrogation dans cron ?
« Aucune valeur précise ». Quartz et AWS l’exigent dans l’un des deux champs de jour ; le crontab standard ne l’accepte pas.
Comment écrire « toutes les 90 minutes » ?
Cron ne peut pas exprimer en une ligne un intervalle qui ne divise pas exactement l’heure ou la journée. Utilisez deux entrées, comme 0 0-21/3 * * * et 30 1-22/3 * * *.
Les noms de mois et de jours sont-ils sensibles à la casse ?
Non. JAN, Jan et jan sont équivalents dans tous les dialectes traités ici.