0 0 1 1 *Champs
| Minute | 0 | 0 |
|---|---|---|
| Heure | 0 | 0 |
| Jour du mois | 1 | 1 |
| Mois | 1 | 1 |
| Jour de la semaine | * | toutes |
Où l’utiliser
| crontab | 0 0 1 1 * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 0 1 1 *" (on.schedule) |
| Kubernetes CronJob | schedule: "0 0 1 1 *" |
crontab utilise le fuseau horaire du serveur ; GitHub Actions utilise toujours UTC.
Bon à savoir
0 0 1 1 * s’exécute une fois par an, à minuit le 1er janvier, comme @yearly et @annually. Des tâches aussi rares sont difficiles à tester et faciles à oublier : d’ici janvier prochain, le script, ses identifiants ou le serveur lui-même auront peut-être changé. Lancez-la une fois à la main après l’installation, et ajoutez une supervision qui alerte si aucune exécution réussie n’est signalée dans un délai d’un an et un jour.
L’heure du serveur ne correspond pas forcément à l’année civile locale : sur un serveur en UTC, la tâche se déclenche à 01:00 en Europe centrale et à 19:00 le 31 décembre à New York. Si la machine est éteinte à ce moment-là, cron ne rattrape pas l’exécution, alors qu’anacron ou un timer systemd avec Persistent=true le fera. Pour des exécutions trimestrielles, utilisez 0 0 1 1,4,7,10 * ou l’équivalent 0 0 1 */3 *.