Date: Sat, 26 Nov 2011 19:05:00 +0000 From: Chris Rees <crees@freebsd.org> To: Jason Hellenthal <jhell@dataix.net> Cc: Christian Kastner <debian@kvr.at>, Michael Ross <gmx@ross.cx>, freebsd-hackers@freebsd.org Subject: Re: cron(8) mis-feature with @reboot long after system startup Message-ID: <CADLo839xDdRh2GSYw-xmVerALic%2BFOm9n5eQz6xkyVZfeP6j_A@mail.gmail.com> In-Reply-To: <20111126190030.GA58253@DataIX.net> References: <20111125070241.GA7915@DataIX.net> <4ED00A68.4040606@kvr.at> <20111126051121.GA4628@DataIX.net> <op.v5jgu0rmg7njmm@michael-think> <20111126190030.GA58253@DataIX.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 26 November 2011 19:00, Jason Hellenthal <jhell@dataix.net> wrote: > On Sat, Nov 26, 2011 at 06:43:38AM +0100, Michael Ross wrote: >> Am 26.11.2011, 06:11 Uhr, schrieb Jason Hellenthal <jhell@dataix.net>: >> > On Fri, Nov 25, 2011 at 10:36:40PM +0100, Christian Kastner wrote: >> >> Hi, >> >> >> >> On 2011-11-25 08:02, Jason Hellenthal wrote: >> >> > So with that said... is there a way we could actually make this run >> >> @reboot only ? >> >> >> >> Debian's cron[0] and Fedora's cronie[1] have solved this by touching a >> >> file on first startup and running @reboot only when this file does not >> >> yet exist. >> >> >> >> Note that while [0] may point to other patches that might be of interest >> >> to FreeBSD, they are still WIP (as evident from the linked patch) as we >> >> are still in the process of quiltifying our current code base. >> >> >> > >> > While this sounds like a perfectly sane way to handle the problem at >> > hand this also introduces a need to write some cleanup code to take care >> > of the file semantics. I think comparing daemon start times to the time >> > a system was booted or similiar would alleviate the need for all that. >> > Maybe a flag for @reboot "-s <seconds>" seconds after boottime to allow >> > running @reboot jobs. And set the default to 3600 seconds. At least this >> > would allow adjustment for those startup processes that may take some >> > considerable time before multiuser mode is entered. >> > >> > Just some thought. >> > >> > I really don't think we need to go the route of using files to store >> > information when there is enough information available already via >> > syscall's. >> >> If system startup were to be unusually delayed (dhcp or nfs trouble eg), >> $time_period might have passed when cron starts, so there would have to be >> some notifying mechanism for @reboot jobs not being run, and operator >> action would be required. >> > > I agree but also disagree. 1 hour or 3600 seconds is plenty of time to wait for the "@reboot" extension scripts to fire. Yes, and if I restart cron 30 minutes after boot, I'm screwed. Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo839xDdRh2GSYw-xmVerALic%2BFOm9n5eQz6xkyVZfeP6j_A>