Skip to content

Constructeur Cron

Construisez ou analysez n'importe quel planning cron. Description lisible + aperçu des 5 prochaines exécutions.

Cron UNIX 5 champs uniquement. La syntaxe Quartz à 7 champs (secondes + année) utilisée par Spring/Jenkins n'est PAS supportée — utilisez un outil dédié Quartz pour cela.
0 9 * * 1-5

S'exécute à 9:00 AM, du Lun au Ven

1lun. 8 juin, 09 h 00
2mar. 9 juin, 09 h 00
3mer. 10 juin, 09 h 00
4jeu. 11 juin, 09 h 00
5ven. 12 juin, 09 h 00

Note : l'analyseur gère *, valeurs simples, pas (*/N) et plages (A-B). Les listes à virgules (1,3,5) ne sont pas encore prises en charge.

Comment fonctionne le constructeur

Le mode constructeur vous permet d'éditer chacun des 5 champs cron (minute, heure, jour du mois, mois, jour de la semaine) indépendamment. Chaque champ accepte un joker (*), une valeur simple, un pas (*/N) ou une plage (A-B). L'expression est assemblée en direct et une phrase lisible est générée à partir des valeurs des champs.

Le mode analyse vous permet de coller une expression cron existante et de voir immédiatement sa description lisible et les 5 prochaines exécutions planifiées calculées depuis l'heure actuelle de votre navigateur. L'algorithme des prochaines exécutions gère les jokers, valeurs simples, pas et plages — calculé en avançant minute par minute depuis maintenant.

Source

La syntaxe d'expression cron implémentée ici suit la POSIX.1-2017 Section 4 — crontab (IEEE Std 1003.1-2017, pubs.opengroup.org). POSIX définit le format à 5 champs : minute (0–59), heure (0–23), jour du mois (1–31), mois (1–12) et jour de la semaine (0–6, 0 = dimanche). L'extension de pas */N est largement supportée mais techniquement une extension non-POSIX implémentée par la plupart des démons cron (Vixie cron, systemd, etc.).

Ce qui est là — et ce qui ne l'est pas

Mode constructeur avec 5 champs éditables. Mode analyse pour les expressions existantes. 8 préréglages courants. Description lisible. Aperçu des 5 prochaines exécutions (depuis l'heure actuelle du navigateur) pour les jokers, valeurs simples, pas (*/N) et plages (A-B). Bouton de copie pour l'expression.

Ce qui n'est pas là : la syntaxe Quartz à 7 champs (secondes + année) — ici uniquement le cron UNIX à 5 champs. Les listes séparées par des virgules (1,3,5) dans le calculateur des prochaines exécutions, c'est la v2. Le format Quartz utilisé par Spring Scheduler, Jenkins et Quartz.NET est un système distinct incompatible avec le crontab UNIX. Pour Quartz, utilisez un outil dédié.

Quand utiliser les expressions cron

Les expressions cron planifient des tâches récurrentes dans les systèmes Unix/Linux, les services cloud (AWS EventBridge, GCP Cloud Scheduler, GitHub Actions), les bases de données (PostgreSQL pg_cron) et les frameworks web (Node.js node-cron, Laravel Task Scheduling). Utilisations courantes : sauvegardes de bases de données (quotidiennes à 2h), réchauffement de cache, envoi d'e-mails/rapports planifiés, nettoyage de fichiers temporaires, interrogation d'API externes et exécution de pipelines ETL.

Lorsque vous travaillez avec des tâches planifiées, vous aurez peut-être aussi besoin d'un Convertisseur de timestamp Unix pour vérifier les heures d'exécution, d'un Convertisseur de fuseau horaire pour planifier sur plusieurs fuseaux, d'un Testeur de regex pour l'analyse de logs, ou d'un Générateur d'UUID pour des identifiants de tâche uniques.

Référence de syntaxe des expressions cron

Syntaxe cron standard à 5 champs : minute heure jour-du-mois mois jour-de-semaine. Les champs utilisent : * (n'importe), , (liste), - (plage), / (pas).

Exemples courants :

  • 0 2 * * * chaque jour à 2h00
  • */15 * * * * toutes les 15 minutes
  • 0 9 * * 1-5 en semaine à 9h
  • 0 0 1 * * premier jour de chaque mois à minuit
  • 0 */6 * * * toutes les 6 heures

AWS et certains outils ajoutent un 6e champ pour les secondes (position 0) ou l'année (position 5). Testez toujours les expressions dans un validateur avant de les déployer en production.

Questions fréquentes

Que signifient les 5 champs cron ?
De gauche à droite : (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, où 0 est dimanche et 6 est samedi (certains systèmes acceptent aussi 7 comme dimanche). Un joker (*) signifie 'toutes les valeurs possibles pour ce champ'.
Que signifie */15 dans un champ cron ?
La syntaxe */N est une valeur de pas. */15 dans le champ minute signifie 'toutes les 15 minutes' — c'est-à-dire aux minutes 0, 15, 30 et 45. */2 dans le champ heure signifie 'toutes les 2 heures' — à 0h00, 2h00, 4h00, etc. Les pas sont une extension largement supportée du cron POSIX.
Quelle est la différence entre le cron UNIX et le cron Quartz ?
Le cron UNIX (POSIX.1-2017) a 5 champs : minute, heure, jour du mois, mois, jour de la semaine. Le cron Quartz (utilisé par Spring Scheduler, Jenkins, Quartz.NET) a 7 champs : secondes, minutes, heures, jour du mois, mois, jour de la semaine, année. Aussi, Quartz utilise 1–7 pour le jour de la semaine (1=dimanche) au lieu de 0–6. Ces deux systèmes ne sont PAS compatibles. Cet outil gère uniquement le cron UNIX à 5 champs.
Comment exécuter une tâche chaque jour ouvré à 9h ?
Utilisez l'expression : 0 9 * * 1-5. Cela signifie : minute 0, heure 9, n'importe quel jour du mois, n'importe quel mois, du lundi au vendredi (1–5). Vous pouvez cliquer sur le préréglage 'Jours ouvrés 9h' pour le définir automatiquement.
Où est documentée la spécification cron ?
La spécification faisant autorité est POSIX.1-2017 (IEEE Std 1003.1-2017), Section 4 — crontab, disponible sur pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html. L'extension de pas (*/N) ne fait pas partie de la spec POSIX elle-même mais est documentée dans les man pages des démons cron courants : Vixie cron (man 5 crontab sur la plupart des distributions Linux) et systemd.time (7) de systemd.
Quelle est la différence entre la syntaxe cron à 5 et 6 champs ?
Le cron Unix standard utilise 5 champs : minute heure jour mois jourSemaine. Certaines plateformes (AWS EventBridge, Spring Framework, Quartz Scheduler) ajoutent un 6e champ. AWS EventBridge préfixe un champ secondes. Spring/Quartz utilisent aussi 6 champs avec les secondes en premier. Vérifiez toujours la documentation de votre plateforme.
Comment exécuter un cron job dans un fuseau horaire spécifique ?
Le cron Unix standard s'exécute dans le fuseau horaire du système (UTC sur la plupart des serveurs). Pour l'exécuter dans un fuseau horaire spécifique : (1) Définissez la variable CRON_TZ dans crontab : CRON_TZ=America/Toronto. (2) Utilisez une plateforme supportant la planification par fuseau horaire (AWS EventBridge, GCP Cloud Scheduler). (3) Calculez vous-même l'équivalent UTC (en tenant compte des changements d'heure). Exécuter les cron jobs en UTC et convertir les heures d'affichage dans votre application est l'approche la plus fiable.

Par Bam's Thinkery — Mis à jour le