Les expressions cron définissent la planification des tâches récurrentes, de la maintenance routine et des travaux ponctuels.
Une expression cron est une chaîne de caractères temporelle composée de six champs séparés par des espaces, au format X X X X X X, où chaque X représente la valeur d'un champ. Séparez plusieurs valeurs au sein d'un même champ par une virgule (,). Chaque champ accepte une valeur spécifique ou un caractère spécial.
Champs et valeurs
Le tableau suivant décrit chaque champ, ses valeurs autorisées et les caractères spéciaux pris en charge.
|Champ
|
Obligatoire
|
Plage de valeurs
|
Caractère spécial
| | --- | --- | --- | --- | |
Second
|
Oui
|
[0, 59]
|
Non pris en charge
| |
Minute
|
Oui
|
[0, 59]
|
Les valeurs séparées par des virgules doivent être espacées d'au moins 30 minutes. Les incréments avec barre oblique doivent être égaux ou supérieurs à 30.
| |
Hour
|
Oui
|
[0, 23]
|
* , - /
| |
day-of-month
|
Oui
|
[1, 31]
|
* , - / ? L
| |
Month
|
Oui
|
[1, 12] ou [JAN, DEC]
|
* , - /
| |
day-of-week
|
Oui
|
[1, 7] ou [SUN, SAT]. Pour le format [1, 7], 1 représente dimanche et 2 représente lundi.
|
* , ?
|
Caractères spéciaux
Les caractères spéciaux suivants sont pris en charge dans les champs des expressions cron.
|Caractère spécial
|
Description
|
Exemple
| | --- | --- | --- | |
*
|
Correspond à toutes les valeurs du champ.
|
Dans le champ Month, * signifie tous les mois. Dans le champ day-of-week, * signifie tous les jours de la semaine.
| |
,
|
Liste plusieurs valeurs discrètes.
|
Dans le champ Minute, 5,40 exécute la tâche à 5 et 40 minutes après l'heure.
| |
-
|
Définit une plage de valeurs contiguës.
|
Dans le champ day-of-month, 5-20 exécute la tâche quotidiennement du 5 au 20 de chaque mois.
| |
/
|
Définit un intervalle d'étape.
|
Dans le champ day-of-month, 1/5 spécifie le premier jour du mois et tous les 5 jours suivants. Dans le champ Hour, 3/8 spécifie la troisième heure et toutes les 8 heures suivantes.
| |
?
|
Aucune valeur spécifique. Valide uniquement dans les champs day-of-month et day-of-week.
|
Les champs day-of-month et day-of-week s'excluent mutuellement. Si vous spécifiez une valeur dans l'un de ces champs, vous devez utiliser un ? dans l'autre.
| |
L
|
Signifie « dernier ». Pris en charge uniquement dans le champ day-of-month, indiquant le dernier jour du mois. **Remarque :** Ne combinez pas L avec une liste ou une plage, car cela peut provoquer des conflits logiques.
|
Dans le champ day-of-month, L signifie le dernier jour du mois.
|
Exemples
Le tableau suivant présente des modèles courants d'expressions cron.
|Exemple
|
Description
| | --- | --- | |
0 15 10 ? * *
|
Exécute une tâche tous les jours à 10 h 15.
| |
0 15 10 * * ?
|
Exécute une tâche tous les jours à 10 h 15.
| |
0 0 12 * * ?
|
Exécute une tâche tous les jours à midi (12 h 00).
| |
0 0 10,14,16 * * ?
|
Exécute une tâche tous les jours à 10 h 00, 14 h 00 et 16 h 00.
| |
0 0/40 9-17 * * ?
|
Exécute une tâche à 0 et 40 minutes après l'heure, tous les jours, de 9 h 00 à 17 h 59.
| |
0 0 12 ? * WED
|
Exécute une tâche tous les mercredis à midi (12 h 00).
| |
0 15 10 15 * ?
|
Exécute une tâche le 15 de chaque mois à 10 h 15.
| |
0 15 10 L * ?
|
Exécute une tâche le dernier jour de chaque mois à 10 h 15.
| |
0 0,30 14 ? 3 WED
|
Exécute une tâche tous les mercredis du mois de mars à 14 h 00 et 14 h 30.
| |
0 0 1 ? * 4#1
|
Exécute une tâche le premier mercredi de chaque mois à 1 h 00 du matin.
|