Well, this is what I initially thought would happen. However, my crontab indicates that cron.daily would be removed at 3:09am. But at 2am EDT, the time changed back to 1am EST, never having reached 3:09am EDT. Then after an hour it would be 2am EST, or "2am again". See here: http://www.webexhibits.org/daylightsaving/b2.html
But 3:09am would never have been reached last night during EDT, only at EST, so I don't expect something after 3am would ever suffer from the change. What am I missing? On Sun, Nov 04, 2012 at 04:36:02PM +0200, Alan McKinnon wrote: > On Sun, 4 Nov 2012 08:58:54 -0500 > Michael George <geo...@mutualdata.com> wrote: > > > Last night was our change from EDT to EST. So we went through the > > 1am-2am hour twice. My crontab has the following: > > > > # for vixie cron > > # $Header: > > # /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/crontab-3.0.1-r4,v > > # 1.3 2011/09/20 15:13:51 idl0r Exp $ > > > > # Global variables > > SHELL=/bin/bash > > PATH=/sbin:/bin:/usr/sbin:/usr/bin > > MAILTO=root > > HOME=/ > > > > # check scripts in cron.hourly, cron.daily, cron.weekly and > > cron.monthly 59 * * * * root rm > > -f /var/spool/cron/lastrun/cron.hourly 9 3 * * * root rm > > -f /var/spool/cron/lastrun/cron.daily 19 4 * * 6 root rm > > -f /var/spool/cron/lastrun/cron.weekly 29 5 1 * * root rm > > -f /var/spool/cron/lastrun/cron.monthly */10 * * * * root test > > -x /usr/sbin/run-crons && /usr/sbin/run-crons > > > > So the cron.daily file should be removed at 3:09am -- it should only > > run once as the 2am-forward time only occurred once. > > > > However, this morning I have two sets of email from my daily jobs > > running. At this time: > > > > Date: Sun, 4 Nov 2012 02:20:05 -0500 (EST) > > > > and this time: > > > > Date: Sun, 4 Nov 2012 03:10:04 -0500 (EST) > > > > Why would it have run twice? > > > This is clearly documented in the man pages for Vixie cron. > > cron is utterly unaware of the vagaries and stupidities that humans get > up to recording the passage of time. If your crontab is this: > > 0 0 * * * <something> > > then when the clock says it is 0 minutes past the 0 hour, the cron will > run. > > That time happened twice. Therefore the cron ran twice. > > You can't really blame cron for not picking up that an event that is > guaranteed to happen once in a period actually happened twice in a > period. There comes a time when a developer has to step back and say > > "To hell with that, it's out of contract spec and actually not my > problem!" > > There are other crons that avoid this problem by taking a completely > different approach. You configure them by declaring you want a job to > run in a given period of time. When daylight saving kicks in, it sees a > job has already run and doesn't do it again. But you have to lose the > ability to specify the exact time a job must run at to do it this way. > > > -- > Alan McKinnon > alan.mckin...@gmail.com > > -- -M Rident stolidi verba Latina. -Ovid