Générateur d'expression cron
Écrivez un planning cron et voyez exactement quand il s'exécute.
10 prochaines exécutions
Aide-mémoire de la syntaxe cron
| Champ | Valeurs autorisées |
|---|---|
| Minute | 0-59 |
| Heure | 0-23 |
| Jour du mois | 1-31 |
| Mois | 1-12 ou JAN-DEC |
| Jour de la semaine | 0-6 ou SUN-SAT (7 est aussi dimanche) |
| Symbole | Signification |
|---|---|
* | Chaque valeur |
, | Une liste de valeurs, comme 1,15 |
- | Une plage, comme 1-5 |
/ | Un pas, comme */15 pour une valeur sur 15 |
Fonctionne dans votre navigateur. Rien de ce que vous tapez n'est envoyé nulle part.
- Explication en clair
- 10 prochaines exécutions
- Préréglages pour les tâches courantes
Comment écrire une expression cron
- Choisissez un préréglage, ou tapez une expression à cinq champs.
- Ajustez chaque champ individuellement dans les cases en dessous.
- Vérifiez l'explication et les prochaines exécutions, puis copiez l'expression.
Plannings cron courants
| Planning | Expression | Signification |
|---|---|---|
| Chaque minute | * * * * * | S'exécute 60 fois par heure |
| Toutes les 5 minutes | */5 * * * * | À :00, :05, :10 et ainsi de suite |
| Chaque nuit à 2h | 0 2 * * * | Une fois toutes les 24 heures |
| Jours de semaine à 9h | 0 9 * * 1-5 | Du lundi au vendredi seulement |
| Le premier du mois | 0 0 1 * * | Minuit le jour 1 |
| Toutes les 6 heures | 0 */6 * * * | Minuit, 6h, midi, 18h |
Comment cron diffère selon les systèmes
Le format à 5 champs ci-dessous est celui que ce générateur construit, et c'est aussi ce qu'utilisent directement la plupart des planificateurs de tâches.
| Système | Champs | Remarque |
|---|---|---|
| Cron / crontab standard | 5 | Minute, heure, jour du mois, mois, jour de la semaine |
| CronJob Kubernetes | 5 | Même format, entre guillemets en YAML |
| GitHub Actions | 5 | Défini sous on.schedule.cron, s'exécute toujours en UTC |
| Quartz (Java) | 6 ou 7 | Ajoute un champ de secondes avant la minute |
| AWS EventBridge | 6 | Ajoute un champ d'année et utilise ? pour le jour du mois ou de la semaine |
Copiez l'expression d'ici dans un planning Quartz ou AWS et ajoutez le champ supplémentaire attendu ; les positions de la minute, de l'heure, du jour, du mois et du jour de la semaine restent les mêmes.
Conseils pour écrire des plannings cron
- Préférez un pas à une longue liste : */15 * * * * est plus court et plus clair que 0,15,30,45 * * * *.
- Régler à la fois le jour du mois et le jour de la semaine restreint moins qu'il n'y paraît : le cron standard exécute la tâche dès que l'un des deux correspond, pas seulement quand les deux correspondent.
- Testez un planning ici avant de le coller sur un serveur. Un seul champ erroné peut transformer une tâche quotidienne en une tâche qui se déclenche chaque minute.
- Les serveurs exécutent généralement cron en UTC. La liste des prochaines exécutions ci-dessus est affichée dans votre propre fuseau horaire, donc convertissez avant de supposer qu'une tâche s'est bien exécutée à l'heure.
FAQ Générateur d'expression cron
Que signifient les cinq champs d'une expression cron ?
De gauche à droite : minute (0-59), heure (0-23), jour du mois (1-31), mois (1-12) et jour de la semaine (0-6, où 0 est dimanche). Un astérisque signifie chaque valeur, donc * * * * * s'exécute chaque minute.
Comment exécuter une tâche cron toutes les 5 minutes ?
Utilisez */5 * * * *. Le /5 signifie une valeur sur cinq, donc cela s'exécute aux minutes 0, 5, 10 et ainsi de suite, chaque heure de chaque jour.
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 dès que l'un des deux correspond. 0 0 1 * 1 s'exécute à minuit le 1er de chaque mois et aussi chaque lundi.
Quel fuseau horaire cron utilise-t-il ?
Celui du serveur qui l'exécute, souvent UTC. Les heures d'exécution sur cette page sont dans votre propre fuseau horaire, donc convertissez-les si votre serveur est réglé différemment.
Ce format fonctionne-t-il pour Kubernetes, GitHub Actions, Quartz ou AWS ?
Les CronJobs Kubernetes et les plannings GitHub Actions utilisent ce même format à 5 champs. Quartz ajoute un champ de secondes, et AWS EventBridge ajoute un champ d'année et utilise ? dans l'un des champs de jour, donc ceux-là ont besoin d'ajustements.
Comment exécuter une tâche seulement en semaine ou seulement le week-end ?
Réglez le jour de la semaine sur 1-5 pour lundi à vendredi, ou 0,6 pour samedi et dimanche. Laissez le jour du mois et le mois à * pour qu'ils ne restreignent rien de plus.
Que signifient des raccourcis comme @daily et @hourly ?
Ce sont des macros que certaines implémentations de cron acceptent à la place des cinq champs. @hourly vaut 0 * * * *, @daily vaut 0 0 * * *, @weekly vaut 0 0 * * 0, @monthly vaut 0 0 1 * * et @yearly vaut 0 0 1 1 *. Tapez l'un d'eux dans le champ d'expression ici et il se développe automatiquement.