⏰ Générateur d'Expressions Cron
Le Générateur Cron de TextSorter est un outil gratuit pour développeurs qui vous permet de créer des planifications cron visuellement et de prévisualiser les prochaines exécutions
Comprendre la Syntaxe des Expressions Cron
Une expression cron est une chaîne compacte qui indique précisément à un planificateur quand exécuter une tâche. Le format standard utilisé sur Linux, macOS et la plupart des plateformes cloud comprend cinq champs séparés par des espaces. Chaque champ contrôle une unité de temps différente, et ensemble ils définissent une planification récurrente précise.
Les Cinq Champs
| Champ | Valeurs Autorisées | Description |
|---|---|---|
| Minute | 0 à 59 | La minute de l'heure à laquelle la tâche se déclenche |
| Heure | 0 à 23 | L'heure de la journée au format 24 heures |
| Jour du Mois | 1 à 31 | Le jour du calendrier dans le mois |
| Mois | 1 à 12 | Le mois de l'année (jan = 1, déc = 12) |
| Jour de la Semaine | 0 à 6 | Le jour de la semaine (dimanche = 0, samedi = 6) |
Caractères Spéciaux
- Astérisque (*) correspond à toutes les valeurs possibles de ce champ. Par exemple,
*dans le champ des heures signifie "toutes les heures." - Virgule (,) sépare une liste de valeurs précises. Écrire
1,15dans le champ du jour du mois signifie "le 1er et le 15." - Tiret (-) définit une plage incluse.
9-17dans le champ des heures signifie "chaque heure de 9h à 17h." - Barre oblique (/) précise un intervalle de pas.
*/10dans le champ des minutes signifie "toutes les 10 minutes" (0, 10, 20, 30, 40, 50).
En combinant ces caractères, vous pouvez exprimer pratiquement n'importe quelle planification récurrente, des intervalles simples aux schémas complexes sur plusieurs jours. Maîtriser cette syntaxe est la base pour automatiser des tâches de manière fiable sur des serveurs, des conteneurs et des services cloud.
Cron sous Linux, Unix et macOS
Le démon cron est un pilier de l'automatisation des tâches sur les systèmes de type Unix depuis les années 1970. Sur les distributions Linux modernes et macOS, cron s'exécute comme un service en arrière-plan qui se réveille chaque minute, lit le fichier crontab de chaque utilisateur et exécute toute tâche dont la planification correspond à l'heure actuelle.
Gérer votre Crontab
Vous interagissez avec cron via la commande crontab. Exécutez crontab -e pour ouvrir votre crontab personnelle dans un éditeur de texte. Chaque ligne suit le schéma minute heure jour-du-mois mois jour-de-la-semaine commande. Après avoir enregistré et fermé le fichier, cron applique les changements automatiquement.
crontab -lliste toutes les tâches de votre crontab actuellecrontab -eouvre la crontab pour modificationcrontab -rsupprime entièrement votre crontab (à utiliser avec prudence)
Pièges Courants
L'un des problèmes les plus fréquents avec les tâches cron concerne les différences d'environnement. Cron exécute les commandes dans un environnement shell minimal, si bien que les chemins et variables sur lesquels vous comptez dans votre terminal interactif peuvent ne pas être disponibles. Utilisez toujours des chemins absolus vers les exécutables et scripts dans les entrées crontab. Une autre erreur fréquente est d'oublier de rediriger la sortie : par défaut, cron envoie par courriel toute sortie standard ou d'erreur à l'utilisateur, ce qui peut remplir silencieusement les files d'attente de courrier. Redirigez la sortie vers un fichier journal ou vers /dev/null si vous n'en avez pas besoin.
La prise en compte du fuseau horaire est également importante. Cron évalue les planifications selon l'horloge du système. Si votre serveur est réglé sur UTC mais que vous voulez qu'une tâche s'exécute à 9h heure de l'Est, vous devez calculer l'équivalent en UTC ou configurer la variable CRON_TZ (prise en charge sur certains systèmes). Sur macOS, launchd est le planificateur privilégié, mais cron reste pleinement fonctionnel et largement utilisé pour des tâches de planification rapides et simples.
Schémas et Exemples Cron Courants
Bien que la syntaxe cron soit assez flexible pour exprimer presque n'importe quelle planification, la plupart des cas d'usage réels se regroupent en une poignée de schémas courants. Garder une référence de ces schémas fait gagner du temps et évite des erreurs lors de la mise en place de nouvelles tâches.
Planifications Fréquemment Utilisées
* * * * *s'exécute chaque minute. Utile pour les contrôles de santé, les workers de file d'attente ou les scripts de surveillance qui nécessitent une exécution quasi immédiate.*/5 * * * *s'exécute toutes les cinq minutes. Un intervalle populaire pour synchroniser des données entre systèmes, rafraîchir des caches ou interroger des API externes.0 * * * *s'exécute une fois par heure, pile à l'heure. Idéal pour les rapports horaires, la rotation des journaux ou les tâches de nettoyage périodiques.0 0 * * *s'exécute chaque jour à minuit. Le choix classique pour les sauvegardes nocturnes, la maintenance des bases de données et les courriels de synthèse quotidiens.0 9 * * 1-5s'exécute à 9h chaque jour ouvré (du lundi au vendredi). Parfait pour l'automatisation en heures ouvrées, comme les rappels quotidiens de réunion ou les rapports matinaux.0 0 1 * *s'exécute à minuit le premier jour de chaque mois. Idéal pour les cycles de facturation mensuels, la génération de rapports ou les vérifications de renouvellement de certificats.0 0 * * 0s'exécute à minuit chaque dimanche. Un bon choix pour les fenêtres de maintenance hebdomadaires, les sauvegardes complètes ou les courriels de synthèse hebdomadaires.
Combiner des Schémas
Vous pouvez combiner des caractères spéciaux pour créer des planifications plus précises. Par exemple, 30 6,18 * * * se déclenche à 6h30 et à 18h30 chaque jour, tandis que 0 9-17 * * 1-5 s'exécute chaque heure de 9h à 17h uniquement les jours ouvrés. La virgule et l'opérateur de plage sont particulièrement puissants ensemble, permettant des planifications comme "toutes les 15 minutes pendant les heures ouvrées le premier et le quinzième jour de chaque mois."
Lors de la construction d'expressions complexes, vérifiez-les toujours avec un outil comme ce générateur. Une valeur mal placée peut faire tourner une tâche bien plus souvent que prévu, ce qui risque de surcharger votre système ou de dupliquer des opérations. Vérifier les cinq prochaines exécutions vous donne la certitude immédiate que la planification correspond à vos attentes.
Cron dans les Services Cloud et les Plateformes Modernes
Les expressions cron ont dépassé leurs origines Unix et constituent aujourd'hui une interface standard pour la planification chez les principaux fournisseurs cloud et dans les frameworks d'applications modernes. Comprendre comment chaque plateforme met en œuvre une planification de type cron vous aide à choisir le bon outil pour votre infrastructure.
AWS EventBridge (CloudWatch Events)
Amazon Web Services utilise des expressions cron dans EventBridge Scheduler (anciennement CloudWatch Events) pour déclencher des fonctions Lambda, des Step Functions et d'autres services AWS selon une planification. AWS étend le format standard à cinq champs à six champs en ajoutant un champ année et prend en charge un caractère générique ? pour le jour du mois ou le jour de la semaine lorsque l'autre est spécifié. Par exemple, cron(0 12 ? * MON-FRI *) se déclenche à midi UTC chaque jour ouvré. EventBridge propose aussi une syntaxe rate() plus simple pour des intervalles basiques comme rate(5 minutes).
Google Cloud Scheduler
Google Cloud Scheduler accepte les expressions cron Unix standard et ajoute la prise en charge du fuseau horaire directement dans la configuration de la tâche. Vous spécifiez à la fois une expression cron et un fuseau horaire cible (par exemple "America/New_York"), et le planificateur gère automatiquement les transitions d'heure d'été. Les cibles peuvent être des points de terminaison HTTP, des sujets Pub/Sub ou des services App Engine.
Azure Functions et Logic Apps
Microsoft Azure utilise des expressions NCRONTAB dans les déclencheurs de minuterie d'Azure Functions. Celles-ci comportent six champs (les secondes s'ajoutent comme premier champ) : {second} {minute} {hour} {day} {month} {day-of-week}. Azure Logic Apps prend également en charge des déclencheurs de récurrence configurés via des schémas de type cron dans la définition du flux de travail.
CronJobs Kubernetes
Kubernetes propose une ressource native CronJob qui utilise des expressions cron standard à cinq champs pour planifier des charges de travail conteneurisées. Le contrôleur CronJob crée un nouvel objet Job à chaque horaire planifié, et vous pouvez configurer des politiques de concurrence, des limites d'historique et des tolérances de délai. C'est l'approche privilégiée pour le traitement par lots périodique dans les environnements d'orchestration de conteneurs.
Quelle que soit la plateforme, la syntaxe cron de base reste cohérente. Maîtriser le format à cinq champs présenté sur cette page vous prépare à travailler avec la planification sur n'importe quel système, d'un simple serveur Linux à une architecture multi-cloud globale.
🔒 100% Privé et Gratuit
Toute la création d'expressions cron et l'aperçu des planifications se déroulent entièrement dans votre navigateur. Aucune donnée ne quitte jamais votre appareil. Aucun traitement serveur, aucune journalisation, aucune inscription requise.