0 9 * * 1-5Champs
| Minute | 0 | 0 |
|---|---|---|
| Heure | 9 | 9 |
| Jour du mois | * | toutes |
| Mois | * | toutes |
| Jour de la semaine | 1-5 | 1, 2, 3, 4, 5 |
Où l’utiliser
| crontab | 0 9 * * 1-5 /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 9 * * 1-5" (on.schedule) |
| Kubernetes CronJob | schedule: "0 9 * * 1-5" |
crontab utilise le fuseau horaire du serveur ; GitHub Actions utilise toujours UTC.
Bon à savoir
0 9 * * 1-5 s’exécute à 09:00 du lundi au vendredi ; la plupart des implémentations de cron acceptent aussi MON-FRI. Le grand piège, c’est le fuseau horaire : un rapport prévu à 09:00 sur un serveur en UTC arrive à 10:00 ou 11:00 en Europe centrale selon l’heure d’été, et GitHub Actions utilise toujours UTC. Fixez l’heure locale avec CRON_TZ=Europe/Warsaw dans cronie, ou spec.timeZone dans un CronJob Kubernetes.
Cron ne connaît pas les jours fériés : vérifiez une liste de jours fériés dans le script et quittez tôt. Ne combinez pas jour du mois et jour de la semaine pour signifier « premier jour ouvré du mois » : quand les deux champs sont restreints, cron s’exécute si l’un ou l’autre correspond, donc 0 9 1 * 1-5 se déclenche le 1er et chaque jour de semaine. Pour 9:00 et 17:00 en semaine, écrivez 0 9,17 * * 1-5.