Si je place un script shell dans /etc/cron.daily/
, à quel moment de la journée sera-t-il exécuté ?
Réponses
Trop de publicités?Approximativement à 7h35, mais le timing exact dépendra d'anacron.
Par défaut, cron délègue l'exécution des tâches /etc/cron.daily à anacron. /etc/crontab contient la ligne :
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
mais cela définit le comportement si anacron n'est pas installé
Avec anacron installé, l'exécution des tâches cron.daily est contrôlée par l'entrée dans /etc/anacrontab :
1 5 cron.daily nice run-parts --report /etc/cron.daily
qui indique d'exécuter ces tâches une fois par jour, avec un délai de 5 minutes.
anacron lui-même est exécuté par cron, tel que spécifié dans le fichier /etc/cron.d/anacron, qui lance anacron à 7h30.
En regardant /etc/crontab
, il devrait s'exécuter à 06h25.
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Pour donner plus de détails, sur les systèmes plus récents, anacron est géré par systemd. Sur mon système Ubuntu 19.10, anacron s'exécute de 7h30 à 23h30 toutes les heures, avec un délai aléatoire de 5 minutes. Anacron exécute ensuite les scripts cron.daily avec un délai de 5 minutes tel que défini dans /etc/anacrontab
.
En outre, systemd ne démarre anacron que lorsque le système est connecté à l'alimentation secteur. Consultez /lib/systemd/system/anacron.service
et /lib/systemd/system/anacron.timer
pour plus d'informations.