This bug is more serious than I thought. It appears that because of the aforementioned apt bug (it sometimes never exits when invoked from one of the cron.daily scripts), anacron has not run any jobs on my system for the past month.
This is not a good failure mode. It would be much more safe for anacron to be allowed to start on subsequent days (perhaps killing it if it is still going 24 hours later) to minimise the number of jobs missed. For example, this seems to be an improvement:
That doesn't prevent the "job is already running" email being sent out after a job has frozen, but it will be sent once per stuck job and then will allow anacron to recover, rather than being sent daily until the stuck job is manually killed.
Of course, the underlying apt bug should be fixed too, but this will allow anacron to recover from this and other bugs.
This bug is more serious than I thought. It appears that because of the aforementioned apt bug (it sometimes never exits when invoked from one of the cron.daily scripts), anacron has not run any jobs on my system for the past month.
This is not a good failure mode. It would be much more safe for anacron to be allowed to start on subsequent days (perhaps killing it if it is still going 24 hours later) to minimise the number of jobs missed. For example, this seems to be an improvement:
--- cron.d_anacron.orig 2012-03-01 01:31:33.627985854 +0000 usr/local/ sbin:/usr/ local/bin: /sbin:/ bin:/usr/ sbin:/usr/ bin
+++ /etc/cron.d/anacron 2012-03-01 01:31:42.903921823 +0000
@@ -4,4 +4,4 @@
PATH=/
#30 7 * * * root test -x /etc/init.d/anacron && /usr/sbin/ invoke- rc.d anacron start >/dev/null
-30 7 * * * root start -q anacron || :
+30 7 * * * root start -q anacron || restart -q anacron || :
That doesn't prevent the "job is already running" email being sent out after a job has frozen, but it will be sent once per stuck job and then will allow anacron to recover, rather than being sent daily until the stuck job is manually killed.
Of course, the underlying apt bug should be fixed too, but this will allow anacron to recover from this and other bugs.