Cron est le planificateur de tâches standard des systèmes Unix/Linux, utilisé pour automatiser l'exécution de scripts et de commandes à des intervalles définis. Une expression cron se compose de 5 champs — minute (0-59), heure (0-23), jour du mois (1-31), mois (1-12) et jour de la semaine (0-6) — séparés par des espaces. Les caractères spéciaux `*` (tous), `,` (liste), `-` (plage) et `/` (intervalle) permettent de définir des planifications complexes comme "tous les lundis à 3h30" (`30 3 * * 1`) ou "toutes les 5 minutes" (`*/5 * * * *`).
Qu'est-ce qu'une expression cron et comment fonctionne-t-elle ?
Cron est un planificateur de tâches sur les systèmes Unix. Une expression cron définit quand un job doit s'exécuter à l'aide de cinq champs séparés par des espaces. Chaque champ contrôle un aspect différent de la planification.
Le cron est omniprésent dans l'infrastructure moderne : crontabs Linux, GitHub Actions, AWS EventBridge, Kubernetes CronJobs et la plupart des plateformes CI/CD utilisent la syntaxe cron standard ou des variantes proches.
Comment lire et écrire la syntaxe cron ?
Une expression cron comporte cinq champs, chacun séparé par un espace :
| Champ | Valeurs | Caractères spéciaux |
|---|---|---|
| Minute | 0–59 | * , - / |
| Heure | 0–23 | * , - / |
| Jour du mois | 1–31 | * , - / |
| Mois | 1–12 | * , - / |
| Jour de la semaine | 0–6 (Dim=0) | * , - / |
Caractères spéciaux : * signifie toutes les valeurs,
, sépare une liste,
- définit une plage,
/ définit un intervalle (ex. */5 = toutes les 5 valeurs).
Quelles sont les planifications cron les plus courantes ?
| Expression | Planification |
|---|---|
| * * * * * | Chaque minute |
| */5 * * * * | Toutes les 5 minutes |
| 0 * * * * | Chaque heure (à la minute 0) |
| 0 0 * * * | Chaque jour à minuit |
| 0 9 * * 1-5 | En semaine à 9h00 |
| 0 0 1 * * | Le 1er de chaque mois à minuit |
Vous gérez un serveur ? Vous pouvez aussi définir les permissions de fichiers avec notre calculateur chmod, ou convertir des fichiers de configuration entre formats avec le convertisseur JSON ↔ YAML.