Dev Tools

Générateur Expression Cron

Construisez vos expressions cron visuellement. Description en français, exemples courants et copie en un clic.

Exemples courants

Minute *
Heure *
Jour du mois *
Mois *
Jour de la semaine *

Description

Chaque minute

* * * * *
minute *
.
heure *
.
jour/mois *
.
mois *
.
jour/sem. *

Besoin d'un fichier robots.txt ?

Configurez les règles d'exploration de votre site pour les moteurs de recherche.

Générer un robots.txt

Estimation indicative. Ne constitue pas un conseil fiscal ou financier. Consultez un professionnel pour votre situation personnelle.

Questions fréquentes

Qu'est-ce qu'une expression cron ?

Une expression cron est une chaîne de 5 champs séparés par des espaces qui définit une planification récurrente : minute (0-59), heure (0-23), jour du mois (1-31), mois (1-12), jour de la semaine (0-7, où 0 et 7 = dimanche).

Elle est utilisée dans crontab(5) sur les systèmes Unix/Linux pour automatiser des tâches planifiées.

Que signifie l'astérisque (*) dans une expression cron ?

L'astérisque (*) signifie "toutes les valeurs possibles" pour ce champ dans une expression cron. Par exemple, * dans le champ des minutes signifie "chaque minute", * dans le champ des heures signifie "chaque heure". C'est la valeur wildcard par défaut quand aucune restriction n'est souhaitée dans le crontab.

Comment planifier une tâche toutes les N minutes ?

Utilisez la notation */N dans le champ des minutes. Par exemple, */5 * * * * exécute la tâche planifiée toutes les 5 minutes. De même, 0 */2 * * * exécute la tâche toutes les 2 heures (à la minute 0 de chaque heure paire).

Quelle est la différence entre 0 et 7 pour le jour de la semaine ?

Dans la spécification POSIX cron, 0 représente le dimanche et 6 le samedi. Certaines implémentations acceptent également 7 comme dimanche pour des raisons historiques.

La valeur 1 correspond toujours au lundi. Il est recommandé d'utiliser 0 pour le dimanche pour maximiser la compatibilité entre les différents démons cron.

Comment exécuter une tâche le dernier jour du mois ?

La spécification cron POSIX standard ne supporte pas directement le "dernier jour du mois". Certaines implémentations étendues (comme Quartz Scheduler) ajoutent le caractère L pour cela. En cron POSIX pur, une astuce consiste à combiner des conditions dans le script lui-même pour vérifier si le lendemain est le 1er du mois.

Cron expression generator : comprendre et créer des expressions cron

Qu'est-ce qu'une expression cron ?

Une expression cron est une chaîne de texte composée de 5 champs séparés par des espaces, qui définit une planification récurrente sur les systèmes Unix/Linux. Elle est utilisée par le démon cron (décrit dans la page de manuel crontab(5)) pour automatiser l'exécution de commandes et de scripts à des intervalles réguliers.

Le format standard POSIX comprend 5 champs : minute (0-59), heure (0-23), jour du mois (1-31), mois (1-12) et jour de la semaine (0-6, où 0 = dimanche). Certaines implémentations étendues ajoutent un sixième champ pour les secondes (0-59).

minute heure jour_mois mois jour_semaine → */5 * * * * (toutes les 5 minutes)

Syntaxe des expressions cron

Chaque champ accepte plusieurs types de valeurs :

Opérateurs cron

*

Wildcard : toutes les valeurs possibles

* * * * * = chaque minute

*/n

Intervalle : toutes les n unités

*/15 * * * * = toutes les 15 min

x-y

Plage : de x à y inclus

0 8-18 * * * = de 8h à 18h

x,y,z

Liste : valeurs spécifiques

0 9,12,18 * * * = à 9h, 12h, 18h

Source : spécification POSIX IEEE Std 1003.1, crontab(5)

5 champs

composent une expression cron standard POSIX (minute, heure, jour du mois, mois, jour de la semaine)

Expressions cron courantes

Voici les expressions les plus fréquemment utilisées dans les tâches d'administration système et les pipelines CI/CD :

1
Tous les jours à minuit 0 0 * * *

Backups quotidiens, nettoyage de logs

2
Toutes les 5 minutes */5 * * * *

Monitoring, health checks

3
Chaque lundi à 9h00 0 9 * * 1

Rapports hebdomadaires

4
Le 1er de chaque mois à 8h00 0 8 1 * *

Facturation, rapports mensuels

5
Chaque dimanche à 3h00 0 3 * * 0

Maintenance, mises à jour

Cron POSIX vs extensions modernes

Cron POSIX

5 champs

Standard, compatible partout

Cron étendu

6+ champs

Secondes, @yearly, L, W, #

Le cron POSIX standard utilise 5 champs et est supporté par tous les systèmes Unix/Linux. Les implémentations étendues comme Quartz Scheduler (Java), Spring Cron ou node-cron ajoutent des fonctionnalités : un champ pour les secondes, les raccourcis @yearly, @monthly, @weekly, @daily, @hourly, et des caractères spéciaux comme L (dernier jour), W (jour ouvré le plus proche) et # (nième jour de la semaine).

Conseil

Pour maximiser la portabilité de vos expressions cron, restez dans le format POSIX à 5 champs. Vérifiez toujours la documentation de votre implémentation (crontab, GitHub Actions, AWS CloudWatch, Kubernetes CronJob) pour connaître les extensions supportées.

Erreurs fréquentes à éviter

  • Confondre le jour de la semaine 0 et 7. En POSIX, 0 = dimanche. Certaines implémentations acceptent 7 comme dimanche. Utilisez 0 pour la compatibilité maximale.
  • Oublier le fuseau horaire. Le démon cron utilise le fuseau horaire du système. Si votre serveur est en UTC et vous êtes en CET, ajustez vos heures en conséquence.
  • Définir jour du mois ET jour de la semaine. En cron POSIX, si les deux champs sont définis (pas *), la tâche s'exécute si l'une OU l'autre condition est remplie (OR logique, pas AND).
  • Tâches trop fréquentes. Une expression * * * * * (chaque minute) peut surcharger un système si le script est lourd. Utilisez des intervalles raisonnables.
  • Ne pas rediriger la sortie. Par défaut, cron envoie un email pour chaque exécution avec sortie. Redirigez vers un fichier de log ou /dev/null pour les tâches silencieuses.

Sources et références

Dev & Tech

Sources : spécification cron POSIX (IEEE Std 1003.1) · crontab(5) - The Open Group Base Specifications Issue 7. Syntaxe standard : 5 champs (minute, heure, jour du mois, mois, jour de la semaine). Dernière mise à jour : avril 2026.