Comment ça marche
- Saisissez une expression cron ou choisissez un préréglage.
- Lisez la description en langage clair.
- Vérifiez les prochaines exécutions dans votre fuseau horaire.
Pourquoi l’utiliser
- Explication en langage clair.
- De 5 à 50 prochaines exécutions.
- Tout fuseau horaire IANA.
- Expressions à cinq ou six champs.
Lire les expressions cron et vérifier quand elles s’exécutent
Les cinq champs
Une expression cron se compose de cinq valeurs séparées par des espaces, lues de gauche à droite : minute, heure, jour du mois, mois et jour de la semaine. Un * signifie toutes les valeurs. La crontab de Linux, GitHub Actions, les CronJobs de Kubernetes et la plupart des planificateurs de tâches utilisent ce format.
| Champ | Valeurs permises | Exemple |
|---|---|---|
| Minute | De 0 à 59 | */15 toutes les 15 minutes |
| Heure | De 0 à 23 | 9-17 de 9:00 à 17:00 |
| Jour du mois | De 1 à 31 | 1 le premier du mois |
| Mois | De 1 à 12 ou de JAN à DEC | */3 tous les trois mois |
| Jour de la semaine | De 0 à 7 ou de SUN à SAT, 0 et 7 étant tous deux dimanche | 1-5 du lundi au vendredi |
Les virgules énumèrent des valeurs (1,15), les tirets donnent des plages (9-17) et une barre oblique des pas (*/10). L’exemple par défaut, */15 9-17 * * 1-5, s’exécute toutes les 15 minutes de 9:00 à 17:45 en semaine. Certains systèmes, comme Quartz et certains planificateurs cloud, ajoutent en tête un sixième champ pour les secondes : */5 * * * * * s’exécute toutes les 5 secondes. L’analyseur accepte les deux.
Les pièges
- Jour du mois et jour de la semaine ensemble.
0 9 1 * 1s’exécute à 9:00 le premier du mois et chaque lundi, pas seulement les lundis qui tombent le premier. La liste des prochaines exécutions le montre aussitôt. - `9-17` inclut 17. Avec
*/15dans le champ des minutes, la dernière exécution a lieu à 17:45, pas à 17:00. - Les fuseaux horaires. Les serveurs font souvent tourner cron en UTC. Une tâche prévue à 9:00 s’exécute à 9:00 UTC, soit 10:00 ou 11:00 à Paris selon la saison. Choisissez le fuseau horaire du serveur dans la liste pour voir les heures réelles.
- L’heure d’été. La nuit du changement d’heure, une tâche à 2:30 peut s’exécuter deux fois ou pas du tout, selon le planificateur. Évitez de planifier dans l’heure autour de 2:00, heure locale.
Vérifier une expression
Tapez ou collez une expression et trois choses se mettent à jour : une phrase qui la décrit, le détail de chaque champ et la liste des prochaines exécutions sous forme de dates. Voir les dates réelles est la vérification la plus sûre : si la liste montre une exécution inattendue, l’expression ne signifie pas ce que vous pensiez. Passez le nombre d’exécutions à 50 pour vérifier tout un mois d’une tâche fréquente, et changez de fuseau horaire pour comparer son comportement sur un serveur situé ailleurs. Une horloge sur 24 heures et une formulation plus détaillée sont disponibles.
Outils liés
Les journaux de cron et les systèmes de tâches enregistrent généralement les heures sous forme de timestamps Unix ; le convertisseur de timestamp les transforme en dates dans n’importe quel fuseau horaire. Les timestamps Unix expliqués présente le format et ses pièges.
En cas de problème
- Il indique que l’expression n’est pas valide. Comptez les champs : cinq, ou six avec les secondes. Une valeur est hors limites, comme 24 pour l’heure ou 60 pour la minute.
- Les prochaines exécutions ne sont pas celles attendues. Vérifiez le fuseau horaire, puis les champs du jour du mois et du jour de la semaine.
- Votre planificateur refuse une expression qui fonctionne ici. Les planificateurs diffèrent : certains n’acceptent pas les noms comme MON, un champ des secondes, ou des caractères spéciaux comme L et #.
Questions et réponses
Que signifie */15 ?
Cela veut dire toutes les 15 unités de ce champ : */15 dans le champ des minutes s’exécute aux minutes 0, 15, 30 et 45.
Gère-t-il les secondes ?
Oui. Une expression à six champs utilise le premier champ pour les secondes.
Les heures d’exécution sont-elles exactes ?
Elles sont calculées à partir de l’expression et du fuseau horaire choisi, changements d’heure d’été compris.
Guides associés
Les timestamps Unix expliqués
Un timestamp Unix n’est qu’un nombre de secondes, et pourtant il cause un flot régulier de bugs. Ce qu’il compte, comment reconnaître secondes et millisecondes d’un coup d’œil, ce qui se passe avec les fuseaux et les secondes intercalaires, et pourquoi 2038 compte.