À 00:00

0 0 * * *

Champs

Minute00
Heure00
Jour du mois*toutes
Mois*toutes
Jour de la semaine*toutes

Où l’utiliser

crontab0 0 * * * /path/to/script.sh
GitHub Actions- cron: "0 0 * * *" (on.schedule)
Kubernetes CronJobschedule: "0 0 * * *"

crontab utilise le fuseau horaire du serveur ; GitHub Actions utilise toujours UTC.

Bon à savoir

0 0 * * * s’exécute à 00:00 dans le fuseau horaire du serveur, qui sur les machines cloud est souvent UTC plutôt que votre minuit local ; vérifiez avec timedatectl. @daily et @midnight sont des raccourcis pour la même planification. Minuit est le choix par défaut de tout le monde : sauvegardes, rapports et tâches des autres clients se disputent alors le disque et la base de données ; un créneau plus calme comme 17 0 * * * est souvent préférable.

Cron interprète un % seul comme un saut de ligne, il faut donc l’échapper dans la crontab : date -d yesterday +\%F donne la date qu’une tâche nocturne doit généralement traiter. Si le serveur est éteint à minuit, le cron standard ne rattrape pas l’exécution ; anacron ou un timer systemd avec Persistent=true, si. Ajoutez un dead man’s switch comme Healthchecks.io ou Cronitor pour savoir quand la tâche s’arrête silencieusement.

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