Traducteur d’expression cron :
que fait cette ligne ?
Collez une ligne telle qu’elle sort du crontab — les cinq champs seuls, ou la ligne complète avec sa commande. Vous obtenez la planification en une phrase en français, chaque champ décodé, et les dix prochaines dates où elle se déclenche. Rien n’est envoyé nulle part : l’analyse s’exécute dans votre navigateur.
Lisez les champs dans cet ordre
Les lignes de crontab héritées sont rarement documentées. Lisez les cinq champs dans cet ordre :
1 · Comptez les champs
Cinq champs séparés par des espaces, c’est du crontab. Six ou sept, c’est Quartz ou un autre ordonnanceur qui commence par les secondes — un langage différent qui se ressemble par hasard. Tout ce qui suit le cinquième champ est la commande, pas la planification.
5 = cron · 6+ = pas du cron2 · Lisez les deux derniers en premier
Le jour du mois et le jour de la semaine décident quels jours. Si les deux portent des chiffres, arrêtez-vous là : cron se déclenche dès que l’un ou l’autre correspond — la règle du OU, et l’erreur de lecture classique.
les deux définis → OU, pas ET3 · Puis les deux premiers
La minute et l’heure indiquent à quelle heure, ces jours-là. Une étoile dans le champ des minutes veut dire 60 exécutions par heure. Le champ du mois ne compte que lorsqu’il n’est pas une étoile.
* en minute = 60×/heureCe que fait chaque ligne de ce crontab
Le résultat de crontab -l sur un serveur inconnu, traduit ligne par ligne. Traduisez n’importe laquelle : le bouton la charge dans le lecteur ci-dessus. Les lignes complètes fonctionnent aussi : collez une commande entière dans la barre en haut, et le lecteur reprend la planification en nommant la partie qu’il a ignorée.
*/5 * * * * /usr/local/bin/health-ping.sh
30 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
0 9 * * 1-5 /usr/local/bin/daily-digest.sh
0 6 1 * * /usr/local/bin/invoice-run.sh
Comment lire chaque symbole cron
Chaque symbole est un raccourci, et c’est en le décodant mal qu’une planification est mal relue en revue de code :
- Les pas se comptent à partir du minimum du champ. */6 dans le champ des heures donne 00, 06, 12, 18 — pas « six heures après la dernière exécution ».
- Des chiffres dans les deux champs de jour signifient OU, pas ET. Cron se déclenche dès que l’un des deux correspond, donc la planification est plus large qu’il n’y paraît.
- Les noms et les raccourcis, c’est un dialecte. MON et @daily se lisent bien ici et dans la plupart des cron — les chiffres sont l’orthographe que tout cron accepte.
Les symboles, décodés
ce que chacun développe0 0 * * 0, @weekly et SUN
Les quatre lignes ci-dessous correspondent toutes à dimanche minuit. Le traducteur les relit toutes vers la même phrase et la même liste de prochaines exécutions.
Des expressions cron pour tous les jours
Chacune est déjà décodée et renvoie vers sa page complète — prochaines exécutions, variantes, et la ligne crontab prête à copier. L’ensemble vit dans la bibliothèque d’exemples cron.
Les expressions cron le plus souvent collées
Chaque minute de chaque heure, chaque jour — 1 440 exécutions par jour, 525 600 par an. Les cinq champs sont tous des jokers, donc rien n’est restreint. C’est la bonne planification pour un ping de santé peu coûteux, et la mauvaise pour presque tout le reste. Héritée devant un script coûteux, c’est la première ligne à remettre en question.
Une valeur sur 5 dans ce champ, comptée depuis son minimum. Dans le champ des minutes, */5 se déclenche à :00, :05, :10 … :55 — 12 fois par heure, pile sur les graduations de l’horloge. Cela ne veut pas dire « 5 minutes après la dernière exécution » : cron compare des valeurs d’horloge. Donc */7 donne :00, :07 … :56 puis :00 à nouveau — un écart de 4 minutes au début de chaque heure.
Chaque jour à minuit, heure du serveur — minute 0 de l’heure 0, n’importe quelle date, n’importe quel mois, n’importe quel jour de la semaine. C’est exactement la planification qu’abrège @daily. « Minuit » est le minuit du serveur, et les nuits de changement d’heure, un serveur réglé en heure locale peut le sauter ou le répéter.
Identiques. Les raccourcis correspondent exactement : @hourly = 0 * * * *, @daily et @midnight = 0 0 * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * *, @yearly = 0 0 1 1 *. L’exception, c’est @reboot — ce n’est pas une planification du tout, il se déclenche au démarrage du démon cron. Ce traducteur développe les raccourcis pour que vous voyiez toujours les cinq champs en dessous.
Parce qu’elle ne vient pas d’un crontab. Quartz (Jenkins, Spring), certains ordonnanceurs cloud et quelques bibliothèques cron placent un champ secondes en premier, ce qui en fait six — ou sept avec une année à la fin. Un crontab refusera de l’installer. Si le champ des secondes vaut 0, retirez-le : les cinq champs restants se lisent alors généralement comme du POSIX. S’il vaut autre chose, la planification se déclenche en dessous de la minute, et le cron classique ne sait tout simplement pas exprimer cela.
C’est du Quartz pour « aucune valeur précisée ». Quartz exige que l’un des deux champs de jour, et un seul, soit désactivé — c’est lui qui reçoit le point d’interrogation. Le cron POSIX n’a pas cette règle, ni de ? d’ailleurs — un simple * suffit. Quand les deux champs de jour sont restreints, cron s’exécute sur l’union des deux. Collez un ? dans un crontab et la ligne est rejetée.
Oui. Collez 30 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1 et le lecteur prend les cinq champs de planification, les traduit, et nomme le reste de la ligne comme la partie qu’il a ignorée. Il lit aussi la forme /etc/crontab, où un nom d’utilisateur se place entre la planification et la commande. Ce qu’il ne fera pas, c’est deviner une ligne à six champs : un champ des secondes en tête signifie Quartz, pas crontab, et c’est un langage différent.
Collez l’expression ci-dessus. La vue de résultat liste les dix prochaines exécutions sous forme de dates concrètes, calculées par un véritable analyseur, dans le fuseau horaire de votre navigateur. Le crontab, lui, s’exécute sur l’horloge du serveur : si la machine tourne en UTC et pas vous, toute la liste se décale de votre écart horaire. Rien ne vous dit en revanche qu’une exécution a réussi — cron ne journalise jamais que son démarrage.
Continuer l'exploration
Les outils gratuits, c'est un début.
Uptimia veille sur la santé de vos sites.
Disponibilité, SSL, expiration de domaine, vitesse de page, transactions — surveillés depuis 171+ emplacements dans le monde. 30 jours gratuits.