I have set a daily anacron job, which runs form /etc/cron.daily. From the /etc/crontab I see it should run daily at 06:25 (or at start-up/reboot).

However when the date changes (00:00) and the computer is up, I dont want anacron to wait till 06:25. If the computer is up I would like to it to run the script as soon as the date changes (00:00). Does it make sense to add a cron job to run anacron @hourly?

Thank you very much


I found how to do this and summarized it in my blogpost:

If you want to change the behaviour of anacron to execute as soon as the day changes (and not wait till 7:30 as is the default behaviour) do the following:

gksu gedit /etc/cron.d/anacron

and add the last 2 lines (the last line will restart anacron every hour):

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 || :
|improve this answer|||||
  • There's a problem with the formatting of your file snippet. I can't tell what you intended, but the "| :" that currently resides outside the code block is almost certainly intended to be somewhere in it. – Eliah Kagan Apr 2 '13 at 14:55
  • 2
    your link to your blog post seems broken. – vaab Jan 27 '16 at 1:25

The answer by Khaled is not correct. Changing this line will not have an effect if anacron is installed (which it is, by default):

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

If anacron exists, test -x /usr/sbin/anacron will return true, and prevent the second half of that line from running. The other answer (editing /etc/cron.d/anacron) is correct, since that's the config that will kick off anacron itself.

|improve this answer|||||

as per other answers:

edit the first two columns of /etc/cron.d/anacron to change the time anachron runs.

(/etc/crontab values don't take effect due to the || ...)

|improve this answer|||||

You can just change the line:

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

to read

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

This will make the execution of daily cron jobs start at midnight.

|improve this answer|||||
  • 1
    -1 This is not related to anacron execution time. If anacron is installed, these lines do nothing. See /etc/cron.d/anacron to change execution time of anacron. – vaab Jan 27 '16 at 1:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.