BrowserTools
Publicité
Accueil / Générateurs / Générateur et explicateur d'expressions cron

Générateur et explicateur d'expressions cron

Construisez et décodez des planifications cron en langage clair, entièrement dans votre navigateur.

Chargement de Générateur et explicateur d'expressions cron… Si rien ne se passe, activez JavaScript.

Cron est le planificateur de tâches basé sur le temps qui fait tourner les serveurs du monde entier depuis les années 1970. Une expression cron est une chaîne compacte de cinq champs (minute, heure, jour du mois, mois et jour de la semaine) qui décrivent ensemble exactement quand une tâche doit se déclencher. La syntaxe est réputée pour sa concision, et un seul astérisque ou une seule barre oblique mal placés peuvent transformer une sauvegarde horaire en une tempête chaque minute. Cet outil transforme n'importe quelle expression en une phrase claire et lisible afin que vous puissiez confirmer la planification avant de l'inscrire dans un crontab, un pipeline d'intégration continue ou un CronJob Kubernetes.

Questions fréquentes

Mon expression cron est-elle envoyée quelque part ?
Non. L'expression est analysée et expliquée entièrement dans votre navigateur par une bibliothèque JavaScript intégrée. Rien n'est envoyé à un serveur, journalisé ni stocké, il est donc sûr de coller des planifications issues de systèmes privés ou de production.
Que signifient les cinq champs d'une expression cron ?
De gauche à droite, ce sont la minute (0-59), l'heure (0-23), le jour du mois (1-31), le mois (1-12 ou JAN-DEC) et le jour de la semaine (0-6 ou SUN-SAT, où 0 est le dimanche). Une valeur dans chaque position restreint le moment où la tâche s'exécute, et un astérisque signifie toutes les valeurs possibles pour ce champ.
Que signifient ensemble un astérisque et une barre oblique, comme */15 ?
La barre oblique est un opérateur de pas. Appliquée à un astérisque, elle signifie 'toutes les N unités', donc */15 dans le champ des minutes se déclenche aux minutes 0, 15, 30 et 45. Vous pouvez aussi la combiner avec une plage ; par exemple, 0-30/10 signifie toutes les 10 minutes durant la première demi-heure.
Pourquoi ma tâche s'exécute-t-elle plus souvent que prévu ?
La cause la plus fréquente est de laisser un champ en astérisque alors que vous vouliez le fixer. Par exemple, 0 * * * * s'exécute en début de chaque heure, tandis que * 0 * * * s'exécute chaque minute durant l'heure de minuit. Lire l'explication en langage clair que produit cet outil est le moyen le plus rapide de repérer ce genre d'erreur.
Prend-il en charge les secondes ou le cron à six champs ?
Cet outil se concentre sur le format classique à cinq champs utilisé par le cron Unix et la plupart des planificateurs. Certains systèmes (Quartz, certains exécuteurs d'intégration continue) ajoutent un champ de secondes en tête ou un champ d'année en fin. Si vous collez l'un d'eux, l'explication peut être décalée d'un champ, alors réduisez d'abord l'expression à cinq champs.
Comment le jour du mois et le jour de la semaine interagissent-ils ?
Dans le cron standard, si à la fois le champ du jour du mois et celui du jour de la semaine sont restreints (aucun n'est un astérisque), la tâche s'exécute lorsque l'une ou l'autre condition correspond, et non les deux. Ce comportement de type OU, surprenant, est une source fréquente de bogues, alors gardez l'un des deux champs en astérisque sauf si vous voulez précisément cette union.
Puis-je utiliser des noms comme MON ou JAN au lieu de chiffres ?
Oui, la plupart des implémentations de cron acceptent les abréviations de trois lettres pour les mois (JAN-DEC) et les jours de la semaine (SUN-SAT), et elles ne tiennent pas compte de la casse. Elles peuvent rendre les expressions bien plus faciles à lire, même si les plages numériques restent nécessaires pour les pas et certains cas particuliers.
L'outil fonctionne-t-il hors ligne ?
Oui. Une fois la page chargée, la bibliothèque d'analyse est déjà dans votre navigateur et aucune autre requête réseau n'est effectuée. Vous pouvez l'utiliser dans un avion, derrière un pare-feu ou pendant que vous modifiez un crontab distant sur une connexion instable.

À propos de Générateur et explicateur d'expressions cron

L'explicateur accepte les expressions cron standard à cinq champs et prend en charge les opérateurs habituels : l'astérisque pour n'importe quelle valeur, les virgules pour les listes (comme 0,15,30,45), les traits d'union pour les plages (comme 1-5 pour du lundi au vendredi) et les barres obliques pour les pas (comme */5 pour chaque cinquième unité). Saisissez votre propre expression ou cliquez sur l'un des préréglages pour charger un motif courant, puis lisez la description et ajustez-la jusqu'à ce qu'elle corresponde à votre intention. Le tableau de référence des champs sous la zone de saisie vous rappelle quelle position contrôle quelle unité et quelles valeurs chacune accepte.

Tout s'exécute localement dans votre navigateur grâce à la bibliothèque cronstrue intégrée directement dans la page. Rien de ce que vous saisissez n'est envoyé, journalisé ni transmis à un serveur, vous pouvez donc coller des planifications issues d'une infrastructure privée sans hésitation. L'outil fonctionne hors ligne une fois chargé, ce qui en fait un compagnon pratique lorsque vous modifiez des crontabs en SSH et que vous avez simplement besoin d'une vérification rapide de ce qu'une ligne fait réellement.

Pourquoi cela s'appelle cron

Le nom cron vient de Chronos, la personnification grecque du temps, et l'utilitaire est apparu pour la première fois dans la Version 7 d'Unix à la fin des années 1970. L'implémentation originale de Brian Kernighan se réveillait simplement une fois par minute, lisait le crontab du système et exécutait ce qui était dû. C'était élégant, mais cela ne passait pas bien à l'échelle à mesure que le nombre de tâches augmentait.

En 1987, Paul Vixie a publié ce que l'on a appelé Vixie cron, une réécriture bien plus efficace qui calculait la prochaine heure d'exécution de chaque tâche au lieu de parcourir toute la table chaque minute. Vixie cron a introduit de nombreuses commodités tenues pour acquises aujourd'hui, dont les valeurs de pas avec l'opérateur barre oblique, les plages et les crontabs par utilisateur. Ses descendants sont livrés comme planificateur par défaut sur la plupart des distributions Linux.

La syntaxe à cinq champs s'est révélée remarquablement durable. Des décennies après sa création, elle apparaît encore presque inchangée dans les plateformes cloud modernes, les orchestrateurs de conteneurs et les services d'intégration continue. Chaque fois que vous écrivez une planification pour un flux de travail GitHub Actions ou un CronJob Kubernetes, vous parlez un dialecte d'un langage conçu pour un unique mini-ordinateur partagé tournant dans un laboratoire de recherche.

Publicité
Publicité
Publicité