Générateur et explicateur d'expressions cron

Créez un planning crontab sans mémoriser la syntaxe, ou collez une expression existante pour découvrir sa signification en langage courant et le moment exact de sa prochaine exécution.

Mis à jour le

Toutes les 15 minutes, entre 09:00 et 17:59, du lundi au vendredi

Planifications courantes

Créer une planification

Le

Prochaines exécutions

    Modifier les champs

    0–59
    0–23
    1–31, L
    1–12, JAN–DEC
    0–6, SUN–SAT

    Syntaxe : * tous · 5 valeur · 1-5 plage · 1,15 liste · */10 pas · 8-18/2 plage avec pas · macros @hourly @daily @weekly @monthly @yearly.

    Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

    Comment utiliser : Générateur d'expression cron

    1. Choisissez une planification courante, ou utilisez Créer une planification pour définir la fréquence, les jours de la semaine et l'heure, puis cliquez sur Utiliser cette planification.
    2. Ou collez une expression existante, par exemple 30 2 * * 1, dans la zone Expression cron : la description en langage courant se met à jour pendant la saisie.
    3. Ajustez finement chaque partie dans Modifier les champs (minute, heure, jour du mois, mois, jour de la semaine).
    4. Vérifiez la liste Prochaines exécutions en heure locale ou UTC, puis copiez l'expression dans votre crontab, votre workflow CI ou votre planificateur.

    Qu'est-ce qu'une expression cron ?

    Une expression cron est une planification compacte composée de cinq champs séparés par des espaces, qui indique au démon Unix cron — ainsi qu'aux outils utilisant la même syntaxe, comme GitHub Actions, GitLab CI, les CronJobs Kubernetes, Vercel ou de nombreuses files de tâches — quand exécuter une tâche. Ce générateur vous permet de construire une expression à partir de listes déroulantes, d'expliquer n'importe quelle expression en français grâce à la bibliothèque open source cRonstrue, et de calculer les prochaines exécutions afin de vérifier une planification avant sa mise en production.

    Les cinq champs

    ┌──────── minute (0–59)
    │ ┌────── heure (0–23)
    │ │ ┌──── jour du mois (1–31)
    │ │ │ ┌── mois (1–12, JAN–DEC)
    │ │ │ │ ┌ jour de la semaine (0–6, SUN–SAT)
    │ │ │ │ │
    * * * * *  commande

    Dans le champ du jour de la semaine, 7 désigne également le dimanche.

    Chaque champ accepte * (toutes les valeurs), une valeur unique, une plage 1-5, une liste 1,15,30, un pas */10 ou une plage avec pas 9-17/2. Certains planificateurs (Quartz, Spring, AWS EventBridge) ajoutent un champ secondes en début d'expression ; cochez « Champ secondes » pour travailler avec des expressions à 6 parties.

    Exemples

    ExpressionSignification
    */5 * * * *Toutes les 5 minutes
    0 * * * *Au début de chaque heure
    30 2 * * *Tous les jours à 02 h 30
    0 9 * * 1-5À 9 h les jours de semaine
    0 0 1 * *À minuit le 1er de chaque mois
    0 0 1 */3 *À minuit le premier jour de chaque trimestre
    15 14 1 * *À 14 h 15 le 1er de chaque mois

    Erreurs courantes

    • Jour du mois et jour de la semaine. Si ces deux champs sont restreints, le cron classique exécute la tâche lorsque l'un ou l'autre correspond. 0 0 13 * 5 signifie « le 13 et tous les vendredis », et non « le vendredi 13 ». La liste des prochaines exécutions applique cette règle.
    • Oublier la minute. * 9 * * * s'exécute 60 fois entre 9 h 00 et 9 h 59. Utilisez 0 9 * * * pour une exécution unique.
    • Fuseaux horaires. Cron utilise le fuseau horaire du serveur, tandis que GitHub Actions et la plupart des planificateurs cloud utilisent l'UTC. Passez la liste en UTC pour comparer.
    • Pas irréguliers. */45 dans le champ des minutes se déclenche à :00 et :45, puis à nouveau à :00 — les pas recommencent à chaque heure et ne se cumulent pas.
    • Numéros de jours sous Quartz. Quartz compte le dimanche comme 1, alors que cron Unix utilise 0 (ou 7). Cet outil utilise la numérotation Unix.

    Extensions non standard

    L dans le champ du jour du mois (dernier jour du mois), 5L (dernier vendredi) et 1#2 (deuxième lundi) sont pris en charge par Quartz et certaines implémentations de cron, mais pas par Vixie cron sous Linux. Ils sont expliqués et prévisualisés ici, mais vérifiez que votre planificateur les accepte. Besoin de convertir une heure d'exécution en valeur epoch ? Essayez le convertisseur de timestamp Unix ou le convertisseur de fuseaux horaires.

    Aussi recherché comme : crontab, générateur cron, explication cron, syntaxe cron, crontab guru, planification cron, tâche cron, analyseur cron.

    Outils complémentaires : Générateur d'expression cron

    • Générateur de service systemd — Faites tourner votre application comme un véritable service Linux qui démarre au boot et redémarre après un plantage.
    • Calculateur de différence de dates — Comptez les jours entre deux dates, y compris les jours ouvrés et le détail en années, mois et jours.
    • Testeur d’expressions régulières — Saisissez un modèle et observez les correspondances s'afficher en temps réel dans votre texte de test.
    • Formateur HTML — Collez du balisage minifié ou désordonné et obtenez un HTML propre, indenté de manière cohérente, y compris les blocs <style> et <script> intégrés.

    Questions fréquentes

    Que signifie */15 dans cron ?
    La barre oblique désigne un pas : */15 dans le champ des minutes signifie toutes les 15 minutes à partir de 0, soit :00, :15, :30 et :45. 5-50/15 donnerait :05, :20, :35 et :50.
    Comment exécuter une tâche cron toutes les 30 secondes ?
    Le cron standard à 5 champs ne descend pas en dessous de la minute. Utilisez un planificateur à 6 champs prenant en charge les secondes (*/30 * * * * *), ou ajoutez deux lignes dans la crontab, la seconde commençant par sleep 30;.
    L'heure cron est-elle en UTC ou en heure locale ?
    Le cron classique utilise le fuseau horaire système du serveur (certaines versions prennent en compte une variable CRON_TZ). GitHub Actions, Kubernetes (par défaut) et la plupart des planificateurs cloud évaluent les expressions en UTC. La liste affichée ici peut présenter l'un ou l'autre.
    Quelle est la différence entre @daily et 0 0 * * * ?
    Aucune : @daily (ou @midnight) est un raccourci pour 0 0 * * *. De même, @hourly équivaut à 0 * * * *, @weekly à 0 0 * * 0, @monthly à 0 0 1 * * et @yearly à 0 0 1 1 *.
    Comment planifier une tâche le dernier jour du mois ?
    Le cron Unix classique ne possède pas de valeur « dernier jour ». Soit vous utilisez L si votre planificateur le prend en charge (0 0 L * *), soit vous exécutez quotidiennement les jours 28 à 31 et testez la date dans la commande : 0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && ./job.sh.
    Pourquoi mon expression ne s'exécute-t-elle jamais ?
    Les dates impossibles, comme 0 0 31 2 * (31 février) ou 0 0 31 4 * (31 avril), ne correspondent jamais. La liste des prochaines exécutions affiche un avertissement si aucune exécution n'est trouvée dans les dix prochaines années.
    Puis-je installer Générateur d'expression cron en tant qu’application web et l’utiliser hors ligne ?
    Oui. Générateur d'expression cron est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

    Outils similaires