À 00:00, le 1 du mois, uniquement en janvier

0 0 1 1 *

Champs

Minute00
Heure00
Jour du mois11
Mois11
Jour de la semaine*toutes

Où l’utiliser

crontab0 0 1 1 * /path/to/script.sh
GitHub Actions- cron: "0 0 1 1 *" (on.schedule)
Kubernetes CronJobschedule: "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 *.

Ouvrir l’outil Générateur et explication d’expressions cron