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
Champ
Valeurs
Remarques
Seconde
0–59
Quartz, Spring et cron à 6 champs uniquement
Minute
0–59
Premier champ dans crontab et AWS
Heure
0–23
Format 24 heures
Jour du mois
1–31
L, W et LW dans Quartz, Spring, AWS
Mois
1–12 ou JAN–DEC
Noms insensibles à la casse
Jour de la semaine
0–7 ou SUN–SAT
Quartz et AWS : 1–7, 1 = dimanche
Année
1970–2199
Facultatif dans Quartz, obligatoire dans AWS
Caractères spéciaux
Symbole
Signification
Exemple
*
N’importe quelle valeur
* * * * * — chaque minute
,
Liste de valeurs
0 9,17 * * * — 09:00 et 17:00
-
Plage
0 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
L
Dernier jour / dernier jour de semaine
0 0 0 L * ? — dernier jour du mois
W
Jour ouvré le plus proche
0 0 9 15W * ? — jour ouvré le plus proche du 15
#
N-ième jour de la semaine du mois
0 0 9 ? * 2#1 — premier lundi
Macros
Macros
crontab standard
@yearly / @annually
0 0 1 1 *
@monthly
0 0 1 * *
@weekly
0 0 * * 0
@daily / @midnight
0 0 * * *
@hourly
0 * * * *
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.