Aller au contenu

Analyseur d’expression cron

  • Fonctionne sur votre appareil
  • Fonctionne hors ligne une fois chargé

Saisissez une planification cron et lisez ce qu’elle signifie, puis vérifiez les prochaines exécutions dans le fuseau horaire qui vous intéresse. Modifiez chaque champ séparément, essayez des préréglages comme toutes les 15 minutes ou en semaine à 8 h 30, et utilisez le champ des secondes si votre planificateur en a un.

Comment ça marche

  1. Saisissez une expression cron ou choisissez un préréglage.
  2. Lisez la description en langage clair.
  3. 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.

ChampValeurs permisesExemple
MinuteDe 0 à 59*/15 toutes les 15 minutes
HeureDe 0 à 239-17 de 9:00 à 17:00
Jour du moisDe 1 à 311 le premier du mois
MoisDe 1 à 12 ou de JAN à DEC*/3 tous les trois mois
Jour de la semaineDe 0 à 7 ou de SUN à SAT, 0 et 7 étant tous deux dimanche1-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 * 1 s’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 */15 dans 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

Données5 min de lecture

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.

Échap