Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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

share|improve this question
add comment

3 Answers 3

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.

share|improve this answer
add comment
up vote 3 down vote accepted

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 |

| :

share|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
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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