web-dev-qa-db-fra.com

Durée d'exécution du travail quotidien en anacron

J'ai défini un travail d'anacron quotidien, qui exécute le formulaire /etc/cron.daily. D'après le /etc/crontab, je vois qu'il devrait être exécuté quotidiennement à 06h25 (ou au démarrage/redémarrage).

Cependant, lorsque la date change (00:00) et que l'ordinateur est en marche, je ne veux pas que l'anacron attende jusqu'à 06:25. Si l'ordinateur est en marche, j'aimerais qu'il exécute le script dès que la date change (00:00). Est-il judicieux d’ajouter un travail cron pour exécuter anacron @hourly?

Merci beaucoup

6
ECII

J'ai trouvé comment faire cela et je l'ai résumé dans mon article de blog:

Si vous souhaitez modifier le comportement de anacron afin qu'il s'exécute dès que le jour change (et n'attendez pas jusqu'à 7:30 comme c'est le cas par défaut), procédez comme suit:

gksu gedit /etc/cron.d/anacron

et ajoutez les 2 dernières lignes (la dernière ligne redémarrera anacron toutes les heures):

01 0    * * *   root test -x /etc/init.d/anacron && /usr/sbin/invoke-rc.d anacron start >/dev/null
01 0    * * *   root start -q anacron || :
@hourly root start -q anacron || :
6
ECII

Le réponse de Khaled n'est pas correct. Changer cette ligne n'aura aucun effet si anacron est installé (ce qui est le cas par défaut):

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Si anacron existe, test -x /usr/sbin/anacron renverra true et empêchera la seconde moitié de cette ligne de s'exécuter. L’autre réponse (édition /etc/cron.d/anacron) est correcte, car c’est la configuration qui lancera Anacron lui-même.

3
user146247

selon d'autres réponses:

éditez les deux premières colonnes de /etc/cron.d/anacron pour modifier l'heure d'exécution d'Anachron.

(Les valeurs /etc/crontab ne prennent pas effet en raison du || ...)

2
codywohlers

Vous pouvez simplement changer de ligne:

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

lire

0 0    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Cela fera en sorte que l'exécution des tâches cron quotidiennes commence à minuit.

1
Khaled