Aller au contenu
helpyself

Expression cron

Local only — nothing is uploaded unless you save or share it.

Lisez une expression cron en clair et voyez exactement quand elle s'exécutera la prochaine fois.

  1. Collez votre expression cron — cinq champs, ou un raccourci comme @daily.
  2. Lisez la description en clair pour vérifier qu'elle dit bien ce que vous vouliez.
  3. Comparez les prochaines exécutions à ce que vous attendiez. Si elles divergent, c'est l'expression qui est fausse, pas la liste.
  4. Changez le fuseau si votre serveur tourne ailleurs qu'en UTC — cron signifie l'heure de l'horloge murale, la réponse se déplace donc avec.
Fuseau horaire
Essayez-en une
Enregistrer cet outil

Gardez Expression cron sous la main

Ajouter aux favoris

À propos de cet outil

Une expression cron, c'est cinq champs et aucune indulgence. */15 3 * * 1-5 est soit exactement ce que vous vouliez dire, soit une tâche qui s'exécute quatre-vingt-seize fois par jour au lieu de quatre, et rien dans la syntaxe ne vous dit laquelle. Cet outil vous relit l'expression sous forme de phrase, puis fait ce qui repère réellement les erreurs : il montre les prochains moments où la tâche se déclenchera vraiment. Les heures d'exécution sont l'essentiel. Une description se lit comme on croit déjà que cela fonctionne — les dates, non. Si vous attendiez un lundi et que la liste dit mardi, vous avez trouvé le bogue avant qu'il ne vous trouve. Il comprend tout le crontab standard : plages, listes, pas, noms de trois lettres pour les mois et les jours de semaine, et la famille de raccourcis @daily. Il avertit aussi de la seule règle que personne ne devine. Quand vous fixez à la fois un jour du mois et un jour de semaine, cron s'exécute dès que l'un des deux correspond — donc 0 0 13 * FRI n'est pas le vendredi 13, c'est tous les 13 plus tous les vendredis. Ce malentendu unique est à l'origine de plus de courriels surprises que toutes les autres erreurs de cron réunies. Tout se passe dans votre navigateur. Rien de votre planification n'est envoyé.

Questions fréquentes

Que fait cette expression cron ?

Collez-la ci-dessus : la description le dit en clair, suivie des cinq prochains moments où elle se déclenchera réellement. Les heures d'exécution sont la partie à vérifier — une description se lit comme on suppose déjà que cela marche, les dates non.

Que signifient les cinq champs ?

Dans l'ordre : minute (0–59), heure (0–23), jour du mois (1–31), mois (1–12) et jour de la semaine (0–7, où 0 et 7 désignent tous deux le dimanche). Un astérisque signifie chaque valeur de ce champ.

Pourquoi ma tâche s'exécute-t-elle des jours que je n'ai pas demandés ?

Presque toujours à cause de la règle du jour du mois et du jour de semaine. Lorsque les deux champs valent autre chose que *, cron s'exécute dès que l'un des deux correspond, et non quand les deux correspondent. Ainsi 0 0 13 * FRI se déclenche tous les 13 et tous les vendredis. Pour obtenir le vendredi 13, il faut un test à l'intérieur de la tâche : cron ne sait pas l'exprimer.

Que signifie réellement */15 ?

Toutes les 15 valeurs de ce champ, en comptant depuis le début. Dans le champ des minutes, cela donne :00, :15, :30 et :45 de chaque heure. Ce n'est pas « toutes les 15 minutes à partir de maintenant » : la planification est calée sur l'horloge, une tâche lancée à 07:20 s'exécutera donc à 07:30.

Quel fuseau horaire emploient les exécutions ?

Celui que vous choisissez, et cela compte. Un crontab désigne l'heure murale dans le fuseau du serveur : 0 3 * * * y signifie trois heures du matin — et cela reste trois heures du matin au passage à l'heure d'été, même si l'un de ces jours dure 23 heures. Réglez le fuseau sur celui de votre serveur, pas sur le vôtre.

Gère-t-il les secondes, ou L et W ?

Non, délibérément. Les expressions à six champs avec des secondes relèvent de Quartz, et L, W et # sont des extensions de Quartz et de Spring. Les accepter ici reviendrait à vous dire qu'une expression est bonne alors que le cron où vous la collez la refusera.

Aidez-nous à améliorer cet outil

Un bug, une envie de changement, ou un outil qui vous manque ?

/cron-expression

↑↓ pour se déplacer · Entrée pour ouvrir · Échap pour fermer