Skip site navigation (1)Skip section navigation (2)
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>