Comprendre la syntaxe cron
Cron planifie des tâches récurrentes sur les systèmes Unix depuis des décennies. Sa syntaxe tient sur une ligne de cinq champs, mais cette concision la rend facile à mal lire. Voici comment la décoder sans hésiter.
Les cinq champs
Dans l'ordre : minute (0-59), heure (0-23), jour du mois (1-31), mois (1-12), jour de la semaine (0-6, dimanche = 0). Un astérisque * signifie « chaque valeur ». Ainsi 0 9 * * 1 se lit : minute 0, heure 9, tous les jours du mois, tous les mois, le lundi - donc « chaque lundi à 9h00 ».
💡 Anecdote - Petite bizarrerie héritée : dans la plupart des crons, le dimanche s'écrit indifféremment 0 ou 7.
Les raccourcis qui comptent
*/15dans le champ minute : toutes les 15 minutes0 0 * * *: tous les jours à minuit0 8-18 * * 1-5: toutes les heures pleines de 8h à 18h, du lundi au vendredi0 3 1 * *: le 1er de chaque mois à 3h du matin
Les pièges classiques
Le fuseau horaire est celui du serveur, pas le vôtre : une tâche « à minuit » peut tomber en pleine journée ailleurs. Et quand jour-du-mois et jour-de-semaine sont tous deux précisés, cron déclenche si l'un OU l'autre correspond, pas les deux - une source d'erreurs fréquente. Dans le doute, écrivez votre ligne puis relisez-la en clair avec notre parseur cron, qui traduit chaque champ en phrase compréhensible
🤓 Le saviez-vous ? Le nom « cron » vient du grec chronos, le temps. La version la plus répandue aujourd'hui, « Vixie cron », a été écrite par Paul Vixie en 1987.