Parser Cron
Parser et expliquer les expressions cron
Une expression cron est une syntaxe de planification temporelle utilisant 5 champs (minute, heure, jour du mois, mois, jour de la semaine) pour definir quand une tache doit s'executer. Originaire d'Unix, cron est desormais utilise dans les pipelines CI/CD, les fonctions cloud, l'orchestration de conteneurs et les planificateurs de taches a travers le monde.
Qu’est-ce qu’une expression cron ?
Une expression cron est une chaine de cinq (ou parfois six) champs qui definit un calendrier recurrent. Chaque champ represente une unite de temps, et ensemble ils specifient exactement quand une commande ou une tache doit s’executer. Cron est le standard de facto pour la planification de taches temporelles a travers les systemes d’exploitation, les plateformes cloud et les pipelines CI/CD.
Le daemon cron verifie en permanence l’heure actuelle par rapport a toutes les expressions cron enregistrees et execute les taches correspondantes. Ce systeme simple mais puissant gere les taches planifiees sur les systemes Unix depuis 1979.
Syntaxe cron : les 5 champs
Une expression cron standard se compose de cinq champs separes par des espaces :
┌───────────── minute (0-59)
│ ┌───────────── heure (0-23)
│ │ ┌───────────── jour du mois (1-31)
│ │ │ ┌───────────── mois (1-12)
│ │ │ │ ┌───────────── jour de la semaine (0-7, ou 0 et 7 = dimanche)
│ │ │ │ │
* * * * *
Caracteres speciaux
| Caractere | Signification | Exemple | Description |
|---|---|---|---|
* | Toute valeur | * * * * * | Chaque minute |
, | Liste | 1,15 * * * * | A la minute 1 et 15 |
- | Plage | 0 9-17 * * * | Chaque heure de 9 a 17 |
/ | Pas | */10 * * * * | Toutes les 10 minutes |
Modeles courants
| Expression | Planification |
|---|---|
0 * * * * | Chaque heure (a la minute 0) |
0 0 * * * | Chaque jour a minuit |
0 0 * * 0 | Chaque dimanche a minuit |
0 0 1 * * | Premier jour de chaque mois |
0 0 1 1 * | Une fois par an (1er janvier) |
*/15 * * * * | Toutes les 15 minutes |
0 9 * * 1-5 | Jours ouvrables a 9h |
0 0 L * * | Dernier jour de chaque mois (non standard) |
Cas d’utilisation courants
- Maintenance systeme : rotation des logs, nettoyage des fichiers temporaires, sauvegardes de bases de donnees
- Pipelines CI/CD : builds nocturnes, deploiements planifies, analyses de securite periodiques
- Fonctions cloud : AWS EventBridge, Google Cloud Scheduler, Azure Timer Triggers utilisent tous la syntaxe cron
- Supervision : verifications de sante, collecte de metriques, evaluation des seuils d’alerte
- Processus metier : generation de rapports, envoi de newsletters, renouvellements d’abonnements
Essayez ces exemples
S'execute toutes les 5 minutes, 24h/24 et 7j/7. Le */5 dans le champ minute signifie 'toutes les 5 minutes' (0, 5, 10, 15, ...).
*/5 * * * * S'execute a exactement 9h00, du lundi au vendredi. Le champ jour de la semaine utilise 1=lundi a 5=vendredi.
0 9 * * 1-5 S'execute a minuit (00:00) le premier jour de chaque mois. Utile pour les rapports mensuels ou la facturation.
0 0 1 * * Seulement 4 champs fournis. Le cron standard necessite exactement 5 champs (minute, heure, jour du mois, mois, jour de la semaine).
*/5 * * *