On Fri, Apr 13, 2007 at 03:23:17PM -0600, Paul E Condon wrote: > 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 > >
I've discovered a feature of Debian cron that I think is not present in traditional Vixie cron, namely the directory /etc/cron.d It is explained in some additions to the traditional cron man page. It is a line in this directory that starts anacron at 7:30am on my computer. All set up as part of a standard install. It works, and not that I know how, I can make it do its stuff when I want. -- Paul E Condon [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]