On Fri, Apr 13, 2007 at 11:05:02PM +0200, Florian Kulzer wrote:
> On Fri, Apr 13, 2007 at 13:09:43 -0600, Paul E Condon wrote:
> > When I moved to Etch, I noticed something strange, and
> > am looking for an explanation. My cron job for doing 
> > daily backups started doing the job at the wrong time.
> > 
> > It turns out that the move to Etch somehow installed
> > anacron on a system that is supposed to be left on and
> > it was anacron that was actually running the script.
> > 
> > But how? I look at the code in /etc/crontab and in
> > /etc/cron.daily/0anacron and I think I see that it
> > is impossible for anacron to be run on a daily basis:
> > 
> > /etc/anacron contains a line:
> > 25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts 
> > --report /etc/cron.daily )
> 
> Are you sure this snippet is from /etc/anacrontab? It looks like a line
> from /etc/crontab to me. (I cannot find "/etc/anacron" anywhere in
> Debian, so I assume you mean "...tab".)

Sorry. It is from crontab. And, it shows that if anacron is installed
run-parts is not run for cron.daily (I think). 

> 
> > This line invokes run-parts only if anacron is _not_ installed. And,
> > 
> > $ ls /etc/cron.daily/
> > 00test-env  10chkpnt  aptitude      exim4-base  logrotate  modutils  
> > standard
> > 0anacron    apt       bsdmainutils  find        man-db     samba     
> > sysklogd
> > 
> > And,
> > script 0anacron contains:
> > #!/bin/sh
> > #
> > # anacron's cron script
> > #
> > # This script updates anacron time stamps. It is called through run-parts
> > # either by anacron itself or by cron.
> > #
> > # The script is called "0anacron" to assure that it will be executed
> > # _before_ all other scripts.
> > 
> > test -x /usr/sbin/anacron || exit 0
> > anacron -u cron.daily
> > <end>
> > 
> > But how is this script executed usefully? Since cron doesn't do
> > run-parts /etc/cron.daily if anacron is installed?
> > 
> > Further, it appears that cron.daily scripts _are_ being run daily, ---
> > at 7:35am.  Why 7:35am? Where is that time set? It is _not_ a time
> > that is in /var/spool/anacron. I can't think of anywhere else to look.
> 
> Do you by any chance boot the system around 7:30am every day? Anacron's
> default delay for the daily jobs is 5 minutes. 
> 
> > There is something, somewhere, that is doing this. Where?
> 
> This is how I understand it:
> 
> /etc/init.d/anacron starts anacron as a daemon in the background during
> boot (unless the system is running on batteries at that moment). This
> daemon handles all the jobs specified in /etc/anacrontab. The default
> configuration causes anacron to take over all daily, weekly and monthly
> cronjobs. Anacron determines how many days have passed since each of
> these jobs was run the last time. If this period is longer than what is
> specified in anacrontab then anacron will start the job after a certain
> delay (which is also defined in anacrontab). The "0anacron" jobs make
> sure that the timestamps in /var/spool/anacron get updated whenever
> cronjobs are executed. 
> 
> The "test -x /usr/sbin/anacron" statements in /etc/crontab make sure
> that cron does not interfere with anacron, even though cron still takes
> care of the hourly jobs itself.
> 
> -- 
> Regards,
>           Florian
> 
> 
> -- 
> To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
> with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
> 

-- 
Paul E Condon           
[EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to