Parseur d'expression cron
Collez une expression cron pour obtenir sa description, le détail des champs minute, heure, jour, mois et jour de semaine, et une erreur précise si une valeur est hors plage.
Ce que fait l'outil
- Description lisible de la planification complète
- Détail champ par champ : minute, heure, jour du mois, mois, jour de la semaine
- Validation qui nomme le champ et la valeur fautive
- Six exemples rapides pour les plannings courants
- Traitement local, aucune donnée envoyée au serveur
*
Minute
*
Hour
*
Day (M)
*
Month
*
Day (W)
Quick examples
Ce parseur lit une expression cron standard à 5 champs et indique quand elle se déclenche. Collez 0 9 * * 1-5 : l'outil affiche « At minute 0, hour 9, on Monday through Friday », soit tous les jours ouvrés à 9 h 00, avec le détail de chaque champ. Si une valeur sort de sa plage, le parseur nomme le champ et la valeur en cause (par exemple « Invalid value in hour: 24 ») au lieu de l'accepter en silence. L'analyse tourne dans un module Rust compilé en WebAssembly, dans votre navigateur.
Comment lire une expression cron avec l'outil
- Collez ou tapez l'expression dans le champ Cron expression. La page s'ouvre avec
*/15 * * * *déjà analysé en exemple. - Appuyez sur Entrée ou cliquez sur Parse.
- Lisez la description en haut du résultat, puis les cinq cases : Minute, Hour, Day (M) pour le jour du mois, Month, et Day (W) pour le jour de la semaine.
- Pour partir d'un modèle connu, cliquez sur un exemple rapide (chaque minute, chaque heure, tous les jours à minuit, le lundi à 9 h, toutes les 15 minutes, le premier du mois) et modifiez-le.
La description générée est en anglais, langue de la quasi-totalité des documentations cron. Le détail par champ, lui, se lit sans traduction.
Les cinq champs d'une ligne crontab
| Position | Champ | Valeurs autorisées |
|---|---|---|
| 1 | Minute | 0 à 59 |
| 2 | Heure | 0 à 23 |
| 3 | Jour du mois | 1 à 31 |
| 4 | Mois | 1 à 12 |
| 5 | Jour de la semaine | 0 à 6 (0 = dimanche ; 7 accepté aussi pour dimanche dans une liste) |
Syntaxe prise en charge
- Joker
*: toutes les valeurs du champ. - Pas
*/n: toutes les n unités, par exemple*/15en minutes ou*/6en heures (« At minute 0, every 6 hours »). - Plage
a-b:9-17pour les heures de bureau,1-5pour lundi à vendredi. - Liste
a,b,c:1,15dans le jour du mois pour le 1er et le 15. - Pas sur une plage
a-b/n:0-30/5en minutes. Accepté dans les champs minute, heure et jour du mois.
Les numéros de mois et de jours sont traduits en noms dans la description : 0 0 * * 0 se lit « on Sunday » et un mois 3 « in March ».
Ce que le parseur ne gère pas
Il existe plusieurs dialectes cron. L'outil s'en tient au format classique à 5 champs utilisé par crontab, les CronJobs Kubernetes et les déclencheurs schedule de GitHub Actions.
- Pas de champ secondes ni année : les expressions à 6 ou 7 champs de Quartz ou Spring (
0 0 12 * * ?) sont refusées avec « expected 5 fields ». - Pas de noms ni de macros :
MON,JAN,@dailyou@rebootne sont pas reconnus. Utilisez la forme numérique. - Pas de caractères spéciaux : les extensions Quartz
L,W,#et?ne sont pas prises en charge. - Pas de prochaines exécutions ni de fuseau : l'outil décrit le motif, il ne calcule pas les dates à venir. Cron s'exécute dans le fuseau de la machine ou du service, souvent UTC chez les hébergeurs cloud :
0 9 * * *peut donc signifier 9 h UTC, soit 10 h ou 11 h à Paris selon l'heure d'été. - Jour du mois et jour de la semaine : quand les deux sont restreints, cron classique déclenche si l'un ou l'autre correspond.
0 0 13 * 5signifie « le 13, ou n'importe quel vendredi », et non « vendredi 13 ».
Usages courants
- Revue de code : vérifier un planning dans une pull request au lieu de décoder
*/15 9-17 * * 1-5à l'œil. - Crontab héritée : comprendre les lignes d'un vieux serveur avant de les modifier ou de les supprimer.
- Valeurs invalides : heure
24, mois13ou pas*/0échouent avec un message précis, avant que l'ordonnanceur ne s'en charge. - Documentation : copier la description dans un runbook ou un commentaire à côté de la ligne cron.
Comparé à la ligne de commande
Sous Linux, crontab -e ne vérifie la syntaxe qu'à l'enregistrement, avec un message d'erreur qui précise rarement le champ fautif. man 5 crontab explique le format, pas votre ligne. Certains ordonnanceurs affichent la prochaine exécution une fois déployés, donc trop tard pour une faute de frappe. Le parseur donne la lecture avant tout déploiement.
Pourquoi analyser vos expressions cron en local
Une crontab révèle l'heure des sauvegardes, des traitements par lots sur la base de production et des fenêtres de maintenance : des informations utiles à un attaquant. Ici, l'expression est analysée en WebAssembly dans votre onglet, sans envoi ni stockage sur un serveur. Aucune donnée ne sort de votre poste, ce qui simplifie aussi la conformité RGPD de vos outils internes. La page fonctionne hors ligne une fois chargée.
Questions fréquentes
- Que signifie
*/15 * * * *? - Toutes les 15 minutes : aux minutes 0, 15, 30 et 45 de chaque heure, tous les jours.
- Comment lancer une tâche chaque jour ouvré à 9 h ?
- Avec
0 9 * * 1-5. Attention, 9 h correspond au fuseau horaire de la machine qui exécute cron. - Dimanche, c'est 0 ou 7 ?
- Les deux existent. Le parseur traite
0comme dimanche et accepte aussi7seul ou dans une liste comme1,7. Dans une plage, utilisez0:1-7est refusé. - Pourquoi mon expression à 6 champs est-elle refusée ?
- Le sixième champ correspond en général aux secondes (Quartz, Spring) ou à l'année. L'outil lit uniquement le format standard à 5 champs. Retirez le champ des secondes pour vérifier le reste.
- Puis-je écrire
@dailyouMON-FRI? - Non. Écrivez
0 0 * * *pour un lancement quotidien et1-5pour lundi à vendredi. - L'outil affiche-t-il les prochaines exécutions ?
- Non, il explique le motif champ par champ. Pour lire une date d'exécution notée dans un log sous forme de timestamp, utilisez un convertisseur de timestamp.
- Mon expression est-elle envoyée à un serveur ?
- Non. L'analyse se fait entièrement dans votre navigateur via WebAssembly.
Outils connexes : quand les logs d'une tâche contiennent des dates en temps Unix, le convertisseur de timestamp Unix les traduit en dates UTC pour les comparer au planning. Pour les manifestes CronJob ou les fichiers de CI, le convertisseur YAML, JSON et TOML aide à remanier la configuration, et le testeur d'expressions régulières sert à valider les motifs des scripts qui filtrent la sortie de cron.