0 0 1 * *Champs
| Minute | 0 | 0 |
|---|---|---|
| Heure | 0 | 0 |
| Jour du mois | 1 | 1 |
| Mois | * | toutes |
| Jour de la semaine | * | toutes |
Où l’utiliser
| crontab | 0 0 1 * * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 0 1 * *" (on.schedule) |
| Kubernetes CronJob | schedule: "0 0 1 * *" |
crontab utilise le fuseau horaire du serveur ; GitHub Actions utilise toujours UTC.
Bon à savoir
0 0 1 * * s’exécute à minuit le 1er de chaque mois, comme @monthly. C’est généralement là que se trouvent la facturation, l’émission des factures et les rapports mensuels, alors décidez quel fuseau horaire définit « le 1er » : sur un serveur en UTC, c’est encore le dernier jour du mois précédent sur le continent américain. Un rapport sur le mois écoulé doit calculer sa période à partir de la date d’exécution, sans jamais supposer 30 ou 31 jours.
Vixie cron et cronie n’ont pas de syntaxe pour le dernier jour du mois ; exécutez à 0 0 28-31 * * et testez dans la commande, par exemple test $(date -d tomorrow +\%d) = 01 && /path/to/script.sh. Quartz et certains planificateurs cloud prennent en charge L à la place. Attention à la règle du OU : 0 0 1 * 1 s’exécute le 1er et chaque lundi, pas les lundis qui tombent le 1er.