Plus de jeux sur WuGames.ioSponsoriséDécouvrez des jeux de navigateur gratuits — jouez aussitôt, sans téléchargement ni inscription.Jouer

Générateur d'expressions Cron

Construisez, analysez et validez des expressions crontab et Quartz. Collez une ligne ou une macro @daily, développez-la, voyez le texte lisible et les exécutions.

Analyser / Valider l'expression
Constructeur d'expressions Cron
Expression Cron
* * * * *
Description lisible
Every minute
Exemples courants

Comment fonctionnent les expressions Cron : syntaxe, champs et exemples

Un générateur d'expressions Cron puissant qui vous aide à créer, analyser, valider et visualiser vos expressions de planification. Collez une ligne crontab ou Quartz existante (y compris les macros @), développez-la dans le constructeur visuel, lancez une validation stricte par champ et prévisualisez les prochaines exécutions. Compatible avec les formats Unix/Linux (5 champs) et Quartz (6-7 champs).

Qu'est-ce qu'une expression Cron ?

Une expression cron est une chaîne qui définit un calendrier pour des tâches automatisées. Elle est composée de champs représentant des unités de temps :\n\n- Minutes (0-59)\n- Heures (0-23)\n- Jour du mois (1-31)\n- Mois (1-12 ou JAN-DEC)\n- Jour de la semaine (0-7 ou SUN-SAT, où 0 et 7 correspondent au dimanche)\n- Année (optionnelle, pour Quartz)\n\nCaractères spéciaux :\n* (astérisque) - Toute valeur\n, (virgule) - Liste de valeurs\n- (tiret) - Plage de valeurs\n/ (slash) - Pas\n? (point d'interrogation) - Pas de valeur précise (Quartz uniquement)\n\nExemple : `0 9 * * 1-5` signifie "À 9h00, du lundi au vendredi"

Quelle est la différence entre les formats Unix et Quartz ?

Cron Unix/Linux (5 champs) :\n- Format : `minute heure jour mois jourdelasemaine`\n- Exemple : `30 14 * * 1` = chaque lundi à 14h30\n- Utilisé par : crontab Linux, systèmes Unix, serveurs\n- Plage : des minutes au jour de la semaine uniquement\n\nCron Quartz (6-7 champs) :\n- Format : `seconde minute heure jour mois jourdelasemaine [année]`\n- Exemple : `0 30 14 * * MON` = chaque lundi à 14:30:00\n- Utilisé par : Quartz Scheduler Java, Spring Boot, frameworks applicatifs\n- Ajoute le champ secondes\n- Champ année optionnel\n- Prend en charge ? (aucune valeur spécifique)\n\nCe générateur gère les deux formats. Choisissez celui qui correspond à votre environnement.

Comment créer une expression cron ?

Créer une expression cron est simple avec cet outil :\n\n1. Choisissez votre format (Unix ou Quartz)\n2. Pour chaque unité de temps, sélectionnez le motif :\n - Chaque : exécute à chaque intervalle (utilisez *)\n - Spécifique : exécute sur des valeurs précises (ex : 0,15,30,45)\n - Plage : exécute dans une plage (ex : 9-17 pour 9h à 17h)\n - Incrément : exécute par pas (ex : */15 toutes les 15 minutes)\n\n3. Consultez l'expression générée\n4. Vérifiez la description lisible\n5. Contrôlez les prochaines exécutions\n6. Copiez et utilisez l'expression\n\nL'outil valide votre expression en temps réel et vous montre exactement quand elle s'exécutera.

Quels sont des exemples courants d'expressions cron ?

Voici des expressions fréquentes :\n\nToutes les minutes :\n`* * * * *` (Unix)\n`0 * * * * *` (Quartz)\n\nChaque heure à la minute 0 :\n`0 * * * *` (Unix)\n`0 0 * * * *` (Quartz)\n\nTous les jours à minuit :\n`0 0 * * *` (Unix)\n`0 0 0 * * *` (Quartz)\n\nChaque jour ouvré à 9h :\n`0 9 * * 1-5` (Unix)\n`0 0 9 * * MON-FRI` (Quartz)\n\nToutes les 15 minutes :\n`*/15 * * * *` (Unix)\n`0 */15 * * * *` (Quartz)\n\nPremier jour du mois à 6h :\n`0 6 1 * *` (Unix)\n`0 0 6 1 * *` (Quartz)\n\nDeux fois par jour (9h et 18h) :\n`0 9,18 * * *` (Unix)\n`0 0 9,18 * * *` (Quartz)

Que signifie */15 dans une expression cron ?

La notation */15 veut dire "toutes les 15 unités" et correspond à un pas :\n\n- */15 dans les minutes = toutes les 15 minutes (0, 15, 30, 45)\n- */2 dans les heures = toutes les 2 heures (0, 2, 4, 6, 8, 10...)\n- */5 dans les jours = tous les 5 jours (1, 6, 11, 16, 21, 26)\n\nDécomposition :\n- * signifie "toutes les valeurs possibles"\n- /15 signifie "chaque 15e valeur"\n- Combinés : "dans toutes les valeurs, prends-en une sur 15"\n\nVous pouvez aussi définir des plages avec des pas :\n- 0-30/5 = toutes les 5 minutes de 0 à 30 (0, 5, 10, 15, 20, 25, 30)\n- 9-17/2 = toutes les 2 heures de 9h à 17h (9, 11, 13, 15, 17)\n\nPratique pour créer des intervalles réguliers sans tout énumérer.

Générateur d'expressions Cron — Construisez, analysez et validez des expressions crontab et Quartz. Collez une ligne ou une macro @daily, développez-la,
Générateur d'expressions Cron

Comment tester mon expression cron ?

Ce générateur propose plusieurs moyens pour tester votre expression cron :\n\n1. Description lisible :\n - Convertit automatiquement l'expression en français courant\n - Exemple : "À 9h00, du lundi au vendredi"\n - Vérifie que le calendrier correspond à votre intention\n\n2. Prochaines exécutions :\n - Affiche les 5-10 prochains passages\n - Montre les dates et heures exactes\n - Permet de détecter les erreurs (ex : mauvais jour)\n\n3. Constructeur visuel :\n - Les contrôles interactifs montrent les options valides\n - Empêche la création d'expressions invalides\n - Souligne les conflits ou incohérences\n\n4. Validation en temps réel :\n - Vérifie la syntaxe pendant la saisie\n - Signale les erreurs immédiatement\n - Garantit une expression valide avant usage\n\nAvant de déployer, vérifiez toujours :\n- Que le calendrier répond à votre besoin\n- Que les prochaines exécutions semblent correctes\n- Le fuseau horaire retenu\n- La compatibilité avec votre implémentation (Unix vs Quartz)

Puis-je utiliser des noms de mois plutôt que des chiffres ?

Oui ! Les expressions cron acceptent les nombres comme les noms pour les mois et jours :\n\nMois (1-12) :\n- Nombres : 1, 2, 3... 12\n- Noms : JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC\n- Exemple : `0 0 1 JAN,JUL *` = minuit le 1er janvier et le 1er juillet\n\nJours de la semaine (0-7, 0 et 7 = dimanche) :\n- Nombres : 0-7\n- Noms : SUN, MON, TUE, WED, THU, FRI, SAT\n- Exemple : `0 9 * * MON-FRI` = 9h du lundi au vendredi\n\nÀ noter :\n- Les noms sont des abréviations de 3 lettres\n- La casse importe peu (MON, mon, Mon)\n- Tous les cron n'acceptent pas les noms\n- Les nombres sont plus portables\n- Ce générateur affiche les deux formats\n\nPour une compatibilité maximale, utilisez les nombres. Pour la lisibilité, utilisez les noms.

Quelles sont les erreurs courantes avec les expressions cron ?

Erreurs fréquentes et façons de les éviter :\n\n1. Mauvais ordre des champs :\n - `* * 9 * *` = 9e jour du mois, pas 9h\n - `0 9 * * *` = correct (9h chaque jour)\n\n2. Minute manquante :\n - `9 * * *` = invalide (minute absente)\n - `0 9 * * *` = correct (minute en premier)\n\n3. Utiliser 24 pour minuit :\n - `0 24 * * *` = invalide (heures 0-23)\n - `0 0 * * *` = correct (minuit = 0)\n\n4. Jour du mois et jour de semaine renseignés :\n - `0 9 15 * 1` = exécute le 15 ET chaque lundi (logique OU)\n - `0 9 15 * *` ou `0 9 * * 1` = choisissez un seul champ\n\n5. Mauvaise syntaxe de pas :\n - `15/ * * * *` = invalide\n - `*/15 * * * *` = toutes les 15 minutes\n\n6. Utiliser ? dans Cron Unix :\n - `0 9 ? * 1` = ? réservé à Quartz\n - `0 9 * * 1` = utilisez * en Unix\n\nCe générateur vous évite ces erreurs grâce à la validation et aux indices contextuels.

Que signifient les macros @daily, @hourly et @reboot ?

La plupart des implémentations crontab (Vixie/cron, minuteries systemd et de nombreux runners CI) acceptent des macros à surnom au lieu des cinq champs :\n\n@yearly ou @annually = `0 0 1 1 *` (une fois par an, le 1er janvier à minuit)\n@monthly = `0 0 1 * *` (minuit le 1er de chaque mois)\n@weekly = `0 0 * * 0` (minuit chaque dimanche)\n@daily ou @midnight = `0 0 * * *` (chaque jour à minuit)\n@hourly = `0 * * * *` (au début de chaque heure)\n@reboot = s'exécute une fois au démarrage du système ou du planificateur (sans planning récurrent)\n\nCollez l'une de ces macros dans la case Analyser / Valider : l'outil la développe en champs équivalents, remplit le constructeur et affiche les prochaines exécutions. @reboot n'a pas de planning récurrent, l'aperçu ne s'applique donc pas. Quartz ne prend PAS en charge ces macros @ ; utilisez-les uniquement avec le cron Unix/Linux.

Pourquoi mon cron s'exécute-t-il des jours en trop (jour du mois vs jour de semaine) ?

C'est le piège professionnel le plus courant. Lorsque les DEUX champs jour du mois et jour de semaine sont restreints (aucun n'est *), le cron Unix standard utilise une logique OU, pas ET.\n\nExemple : `0 9 15 * 1` ne signifie PAS "le 15 uniquement si c'est un lundi". Il signifie "à 9h00 le 15 OU n'importe quel lundi" - il se déclenche donc bien plus souvent que prévu.\n\nRègles :\n- Si un seul des deux champs est défini (l'autre est *), seul ce champ s'applique.\n- Si les DEUX sont définis, la correspondance a lieu dès que l'UN d'eux correspond (OU).\n- Pour ne viser qu'une condition, laissez l'autre champ à * (Unix) ou ? (Quartz) : utilisez `0 9 15 * *` pour le 15, ou `0 9 * * 1` pour les lundis.\n\nCe générateur applique la sémantique OU correcte : les prochaines exécutions reflètent donc exactement le comportement réel de cron ; collez votre expression pour confirmer avant de déployer.

Fonctionnalités clés

  • Constructeur visuel d'expressions cron avec contrôles intuitifs
  • Collez et validez des lignes crontab/Quartz existantes avec contrôle de plage par champ
  • Développe les macros @ (@daily, @hourly, @weekly, @monthly, @yearly, @reboot)
  • Prise en charge des formats Unix/Linux (5 champs) et Quartz (6-7 champs)
  • Description lisible de chaque expression cron
  • Aperçu des 5 à 10 prochaines exécutions avec sémantique OU des jours correcte
  • Validation stricte et détection explicite des erreurs
  • Exemples et modèles d'expressions courants
  • Copie de l'expression en un clic
  • Prend en charge les caractères spéciaux : * , - / ?
  • Support des noms de mois et de jours (JAN-DEC, SUN-SAT)
  • Gestion des pas et des plages
  • 100 % côté client : aucune donnée envoyée au serveur
  • Fonctionne hors ligne après le premier chargement
  • Design responsive adapté au mobile
  • Mode sombre