Comment Lire et Comprendre les Expressions Cron

17 Jun 2026 1,527 words

Comment Lire et Comprendre les Expressions Cron

Une expression cron est une chaîne de cinq ou six champs qui décrit un planning récurrent. Une fois que vous avez appris le modèle, vous pouvez lire n'importe quelle expression cron comme du français simple. Ce guide vous apprend à décoder chaque élément de syntaxe cron, des simples * * * * * aux expressions complexes avec plages, pas et caractères spéciaux.

Les Cinq Champs de Cron

Chaque expression cron a cinq champs de temps suivis de la commande :

┌───────── Minute (0-59)
│ ┌──────── Heure (0-23)
│ │ ┌─────── Jour du Mois (1-31)
│ │ │ ┌────── Mois (1-12)
│ │ │ │ ┌───── Jour de la Semaine (0-7, 0 et 7 = Dimanche)
│ │ │ │ │
* * * * * <commande>

Lecture de gauche à droite : "À quelle minute, à quelle heure, quel jour du mois, quel mois, et quel jour de la semaine ?"

Lecture des Expressions Pas à Pas

Exemples Simples

0 9 * * *

Lecture : "À la minute 0, à l'heure 9, tous les jours du mois, tous les mois, tous les jours de la semaine." → S'exécute quotidiennement à 9h00.

*/15 * * * *

Lecture : "Toutes les 15 minutes de chaque heure, tous les jours." → S'exécute toutes les 15 minutes.

30 8 * * 1-5

Lecture : "À la minute 30, à l'heure 8, tous les jours du mois, tous les mois, du lundi au vendredi." → S'exécute en semaine à 8h30.

0 0 1 * *

Lecture : "À minuit le premier jour de chaque mois." → S'exécute mensuellement.

Exemples Complexes

0 9-17/2 * * 1-5

Décomposition :

  • 0 — à la minute 0
  • 9-17/2 — toutes les 2 heures de 9 à 17 (soit 9, 11, 13, 15, 17)
  • * — tous les jours du mois
  • * — tous les mois
  • 1-5 — du lundi au vendredi

→ S'exécute à 9h00, 11h00, 13h00, 15h00 et 17h00 en semaine.

30 6 1,15 * 0

Décomposition :

  • 30 — à la minute 30
  • 6 — à l'heure 6
  • 1,15 — le jour 1 et le jour 15 du mois
  • * — tous les mois
  • 0 — le dimanche seulement

→ S'exécute à 6h30 le 1er et le 15 du mois, seulement si ces jours sont aussi des dimanches.

Référence des Caractères Spéciaux

* — Tous / Chaque

Correspond à n'importe quelle valeur pour ce champ.

0 * * * *     → "Toutes les heures"
* * * * *     → "Toutes les minutes"

, — Liste / Ou

Sépare plusieurs valeurs.

0 9,12,15 * * *     → "À 9h, 12h et 15h"

- — Plage

Définit une plage inclusive de valeurs.

0 9-17 * * *        → "Toutes les heures de 9h à 17h"
30 8 * * 1-5        → "En semaine à 8h30"

/ — Pas

Divise le champ en incréments.

*/15 * * * *        → "Toutes les 15 minutes"
0 */2 * * *         → "Toutes les 2 heures"
0 0 */3 * *        → "Tous les 3 jours"

Les pas peuvent être combinés avec des plages :

0 9-17/2 * * *     → "Toutes les 2 heures de 9h à 17h"
30 */4 * * 1-5     → "Toutes les 4 heures en semaine, à la minute 30"

L — Dernier (certains systèmes)

Dans certaines implémentations cron (comme Quartz), L signifie "dernier".

0 0 L * *          → "Dernier jour de chaque mois"

# — Nième occurrence (certains systèmes)

0 9 * * 1#1        → "Premier lundi de chaque mois à 9h"

Expressions Courantes Décodées

Expression Lisible par l'Humain Description
* * * * * Toutes les minutes
*/5 * * * * Toutes les 5 minutes
0 * * * * À la minute 0 de chaque heure Horaire
0 */2 * * * Toutes les 2 heures
0 9 * * * Tous les jours à 9h Quotidien
0 9,17 * * * Tous les jours à 9h et 17h
0 9 * * 1-5 En semaine à 9h
30 8 * * 1 Les lundis à 8h30
0 0 1 * * Premier de chaque mois Mensuel
0 0 1 1 * Le 1er janvier à minuit Annuel
*/15 9-17 * * 1-5 Toutes les 15 min pendant les heures ouvrées en semaine
0 0 * * 0 Tous les dimanches à minuit Hebdomadaire
0 0 */2 * * Tous les deux jours à minuit
0 22 * * 5 Tous les vendredis à 22h

Cron à Six Champs (Avec Secondes)

Certaines implémentations cron (comme Quartz Scheduler) utilisent six champs, ajoutant les secondes au début :

┌───────── Seconde (0-59)
│ ┌──────── Minute (0-59)
│ │ ┌─────── Heure (0-23)
│ │ │ ┌────── Jour du Mois (1-31)
│ │ │ │ ┌───── Mois (1-12)
│ │ │ │ │ ┌──── Jour de la Semaine (0-7)
│ │ │ │ │ │
* * * * * * <commande>
0 */5 * * * *     → "Toutes les 5 minutes, à la seconde 0"
0 0 9 * * *       → "Tous les jours à 9h00m00s"

Raccourcis Non Standards

De nombreuses implémentations cron supportent ces alias :

@yearly   → 0 0 1 1 *     → "Une fois par an"
@monthly  → 0 0 1 * *     → "Une fois par mois"
@weekly   → 0 0 * * 0     → "Une fois par semaine"
@daily    → 0 0 * * *     → "Une fois par jour"
@hourly   → 0 * * * *     → "Une fois par heure"
@reboot   → (pas une heure) → "Exécuter au démarrage"

Traduire Cron en Langage Humain

Lorsque vous voyez une expression cron inconnue, décodez-la champ par champ :

Expression: 45 17 1,15 * 1-5
Champ Valeur Signification
Minute 45 À la minute 45
Heure 17 À 17h
Jour du Mois 1,15 Le 1er et le 15
Mois * Tous les mois
Jour de la Semaine 1-5 Du lundi au vendredi

Résultat : "À 17h45 le 1er et le 15 de chaque mois, seulement si ces jours sont en semaine."

Expression: 0 0 * * 0
Champ Valeur Signification
Minute 0 À minuit
Heure 0 À 0h (minuit)
Jour du Mois * Tous les jours
Mois * Tous les mois
Jour de la Semaine 0 Dimanche

Résultat : "Tous les dimanches à minuit."

Pièges Courants Lors de la Lecture de Cron

Piège 1 : * dans jour-de-la-semaine ET jour-du-mois signifie que les deux correspondent

Quand jour-du-mois et jour-de-la-semaine sont tous deux *, l'expression s'exécute n'importe quel jour. Mais quand les deux ont des valeurs spécifiques, le travail s'exécute si L'UN OU L'AUTRE correspond — c'est une condition OU.

0 9 15 * 1

Ceci s'exécute à 9h le 15 du mois ET tous les lundis (pas "le 15 ET lundi"). Pour s'exécuter seulement quand les deux correspondent, vous avez besoin de deux entrées crontab séparées ou d'une logique au niveau du script.

Piège 2 : Cron utilise l'heure locale, pas UTC

Cron utilise l'heure locale du système. Sur les serveurs configurés en UTC, 0 9 * * * s'exécute à 9h UTC. Vérifiez toujours le fuseau horaire du serveur avant de définir des plannings.

Piège 3 : 0 et 7 sont tous deux dimanche

Dans le champ jour-de-la-semaine, 0 et 7 représentent tous deux dimanche. C'est un héritage des premières implémentations Unix.

Outil en Ligne

L'outil Analyseur d'Expression Cron sur Help2Code décode n'importe quelle expression cron en une description lisible par l'humain. Collez une expression comme */15 9-17 * * 1-5 et voyez une décomposition champ par champ, les prochaines exécutions et une explication en français clair. Construisez de nouvelles expressions avec l'outil Générateur de Commande Cron.

Conclusion

Lire les expressions cron est une compétence qui devient naturelle avec la pratique. Rappelez-vous les cinq champs : minute, heure, jour-du-mois, mois, jour-de-la-semaine. Utilisez le joker * pour "tous", les plages avec - pour les intervalles, les pas avec / pour les incréments, et les listes avec , pour les valeurs spécifiques. Décodez toute expression inconnue champ par champ, et utilisez l'outil Analyseur d'Expression Cron pour vérifier votre compréhension.


About this article

Apprenez à lire et comprendre les expressions cron. Décodez n'importe quel planning crontab avec notre analyseur d'expressions et maîtrisez les caractères spéciaux, les plages et les pas.


Related Articles


Related Tools

Help2Code Logo
Menu