Générateur d'expression cron
Construisez une planification crontab à partir de choix simples, puis vérifiez ce qu'elle signifie en clair et quand elle s'exécutera.
Fonctionne entièrement dans votre navigateur
Expression cron
* * * * *
Prochaines exécutions
Vous avez déjà une expression et voulez seulement la comprendre ? Utilisez Expliquer une expression cron.
Cron standard à cinq champs tel qu'utilisé par Vixie cron et cronie : minute, heure, jour du mois, mois et jour de la semaine. Les formats Quartz et autres formats avec un champ des secondes ne sont pas générés, et les expressions collées que les commandes ne peuvent pas afficher sont conservées telles que saisies.
Comment créer une expression cron
- Partez d'un modèle, ou réglez chaque champ pour s'exécuter à chaque fois, toutes les N unités à partir d'un début, sur des valeurs précises ou entre deux valeurs.
- Vérifiez l'expression, sa description en clair et les prochaines exécutions dans le fuseau horaire de votre serveur.
- Copiez l'expression dans votre crontab, votre planification de CI ou votre planificateur. Vous pouvez aussi coller une expression existante pour la charger dans les commandes.
Construire une planification cron
Ce générateur d'expression cron produit cinq champs séparés par des espaces : minute, heure, jour du mois, mois et jour de la semaine. Chaque champ répond à une question sur le moment où la tâche doit s'exécuter, et la tâche s'exécute quand tous correspondent. Laisser un champ à * signifie toutes les valeurs, c'est pourquoi 0 * * * * s'exécute au début de chaque heure et 0 0 * * * une fois par jour à minuit.
Le générateur propose quatre façons de remplir chaque champ. Un pas comme */15 signifie une valeur sur 15, une liste comme 1,15 désigne des valeurs exactes, une plage comme 9-17 couvre tout ce qui se trouve entre deux valeurs, et * signifie toutes les valeurs. Quand vous cochez des valeurs, les suites de trois valeurs consécutives ou plus sont écrites sous forme de plage : du lundi au vendredi donne 1-5 plutôt que 1,2,3,4,5.
Deux pièges attrapent la plupart des gens. Cron utilise l'horloge de la machine sur laquelle il tourne : une tâche prévue à 09:00 s'exécute à 09:00 heure du serveur, qui n'est peut-être pas la vôtre ; la liste des prochaines exécutions vous permet de vérifier dans plusieurs fuseaux. Et quand les champs jour du mois et jour de la semaine sont tous deux restreints, la tâche s'exécute dès que l'un des deux correspond, ce qui peut donner bien plus d'exécutions que prévu.
Astuces
- Pour lire une expression écrite par quelqu'un d'autre, collez-la dans Expliquer une expression cron.
- Convertissez une heure d'exécution lue dans un journal en timestamp Unix, et inversement, avec le Convertisseur de timestamp Unix.
- Les scripts planifiés doivent avoir le droit d'exécution ; trouvez le bon mode avec le Calculateur chmod.
Questions fréquentes
Comment exécuter une tâche toutes les 15 minutes ?
Réglez Minute sur Toutes les 15 minutes, à partir de 0, ce qui écrit */15 * * * *. La tâche s'exécute aux minutes 0, 15, 30 et 45 de chaque heure.
Comment s'écrit un début autre que 0 ?
Un début à la minute 5 avec un pas de 10 s'écrit 5-59/10, ce qui s'exécute à 5, 15, 25, 35, 45 et 55. La forme plus courte 5/10 fonctionne dans certaines versions de cron mais est rejetée par d'autres : la forme longue est donc le choix portable.
Pourquoi certains jours sont-ils écrits en plages et d'autres en listes ?
Trois valeurs consécutives ou plus sont écrites sous forme de plage : du lundi au vendredi donne 1-5, tandis que lundi, mercredi et vendredi donnent 1,3,5. Les deux désignent exactement les valeurs que vous avez cochées.
Que se passe-t-il si je règle à la fois le jour du mois et le jour de la semaine ?
Le cron standard exécute la tâche quand l'un ou l'autre correspond, pas les deux. 0 9 1 * 1 s'exécute le 1er du mois et chaque lundi. L'outil ajoute une note quand vos choix tombent dans ce cas.
Quel fuseau horaire les prochaines exécutions utilisent-elles ?
Celui que vous choisissez sous l'expression. Cron lui-même utilise le fuseau horaire de la machine ou du conteneur qui l'exécute, sauf si la crontab définit CRON_TZ. Beaucoup de serveurs sont en UTC : vérifiez avant de vous fier à une heure.
Les secondes, @daily ou la syntaxe Quartz sont-ils pris en charge ?
L'outil ne crée que des expressions à cinq champs. Coller @daily ou un autre raccourci fonctionne : il est converti en ses cinq champs. Les expressions à six champs et de style Quartz sont rejetées, car leur premier champ correspond aux secondes. L'outil Expliquer une expression cron détaille pourquoi.