tomai
Connexion

Référence Cron : les cinq champs, caractères spéciaux et pièges

Cron exécute des commandes selon un planning décrit en cinq champs — minute, heure, jour du mois, mois et jour de semaine — suivis de la commande elle-même. Une ligne comme 30 9 * * 1 signifie neuf heures et demie chaque lundi matin, et presque tout système Unix plus d’innombrables planificateurs parlent ce dialecte.

1. Champs et valeurs autorisées

Les minutes vont de 0 à 59, les heures de 0 à 23, les jours du mois de 1 à 31, les mois de 1 à 12 et les jours de semaine de 0 à 7, où 0 comme 7 signifient dimanche. Une étoile signifie chaque valeur à cette position, donc 0 * * * * se déclenche au début de chaque heure.

2. Pas, plages et listes

Une barre oblique définit un pas — */15 dans le champ minute signifie toutes les quinze minutes — un tiret définit une plage comme le jour de semaine 1-5 pour lundi à vendredi, et les virgules joignent des listes comme 0,30. Ils se combinent librement, donc 0 9-17 * * 1-5 se lit comme une fois par heure pendant la journée de travail, en semaine seulement.

3. La bizarrerie OU des champs de jour

Quand les champs jour du mois et jour de semaine sont tous deux restreints, cron se déclenche dès que l’un correspond — pas les deux. Une ligne pensée pour le premier lundi du mois demande un soin particulier, car restreindre les deux champs élargit le planning au lieu de le resserrer. Laisse l’un des deux en étoile et l’autre garde seul le contrôle.

4. Presets et pièges d’environnement

Des raccourcis comme daily ou weekly se déploient en motifs de champs, mais la forme classique à cinq champs voyage le mieux entre systèmes. Rappelle-toi que cron tourne avec un environnement minimal : chemins, locales et bizarreries du shell de ton terminal ne suivent pas, donc utilise toujours des chemins absolus et teste la commande à la main d’abord. Construis les expressions visuellement et prévisualise les prochaines exécutions avec notre générateur cron, qui calcule les dates à venir directement dans ton navigateur.