418 DevOps Votre spécialiste sérénité informatique

Outil gratuit

Traduire une expression cron en français

Collez une expression, obtenez sa traduction en français et les cinq prochaines exécutions réelles. C'est le moyen le plus rapide de vérifier qu'une tâche planifiée fera bien ce que vous croyez.

Aide-mémoire

Les cinq champs, dans l'ordre

Une expression cron se lit toujours de la gauche vers la droite, du plus fin au plus large :

minute (0-59)   heure (0-23)   jour du mois (1-31)   mois (1-12)   jour de la semaine (0-7)

Quatre symboles suffisent à tout écrire :

  • * : toutes les valeurs du champ ;
  • , : une liste de valeurs, comme 1,15 ;
  • - : un intervalle, comme 9-17 ;
  • / : un pas, comme */10 pour une valeur sur dix.

Le dimanche s'écrit indifféremment 0 ou 7. Les abréviations anglaises sont acceptées dans les deux derniers champs : MON, JAN, et ainsi de suite.

Le piège qui fait tourner les tâches trop souvent

Quand le champ du jour du mois et celui du jour de la semaine sont tous les deux renseignés, cron ne fait pas « et », il fait « ou ». L'expression 0 9 1 * 1 ne veut pas dire « le 1er du mois s'il tombe un lundi », mais « tous les lundis, plus le 1er de chaque mois ». C'est un comportement hérité des premières versions d'Unix, et une source d'incidents récurrente. L'outil ci-dessus applique cette règle : si votre expression combine les deux champs, regardez les prochaines exécutions, elles ne mentent pas.

Trois erreurs qui coûtent une nuit

  • Le fuseau horaire. Cron suit l'horloge du serveur, pas la vôtre. Un serveur en UTC déclenchera votre sauvegarde « de 3 h » à 4 h ou 5 h en France selon la saison. Les dates affichées ici utilisent l'heure de votre ordinateur.
  • Le changement d'heure. Au passage à l'heure d'hiver, une tâche planifiée entre 2 h et 3 h peut s'exécuter deux fois ; au passage à l'heure d'été, pas du tout. Pour une tâche sensible, planifiez-la en dehors de cette plage.
  • L'environnement. Cron démarre avec un PATH minimal et sans les variables de votre session. Un script qui fonctionne dans votre terminal peut échouer silencieusement une fois planifié : utilisez des chemins absolus et redirigez la sortie vers un fichier de journal.

Et le vrai sujet reste ailleurs : une tâche planifiée qui échoue ne prévient personne. Si la vôtre fait quelque chose d'important, faites-lui signaler sa réussite à un service de surveillance qui alerte quand le signal n'arrive pas.

Vos tâches planifiées échouent en silence ?

C'est le genre de problème qu'on découvre le jour où on a besoin de la sauvegarde. Je mets en place la supervision qui vous prévient avant.