cron(8) mis-feature with @reboot long after system startup

Cy Schubert Cy.Schubert at komquats.com
Fri Nov 25 08:27:50 UTC 2011


In message <20111125070241.GA7915 at DataIX.net>, Jason Hellenthal writes:
> List,
> 
> When using @reboot with cron you expect your proccesses to always start when 
> the system boots up and only when the system boots. But long after the system
>  in question had been booted, my @reboot processes ran again! after a (/etc/r
> c.d/cron restart). This is normally fine and dandy until one of your @reboot 
> jobs needs to contain a process that purges files "files that are already in 
> use by a running daemon since the system has not rebooted" and becomes hazard
> ous.
> 
> So with that said... is there a way we could actually make this run @reboot o
> nly ?
> 
> Compare the system boottime (kern.boottime) to the current time and if it is 
> greater than ?5 minutes? do not run on any @reboot's ? or add yet another ext
> ension @boottime so it does not throw off current functionality ?
> 
> Surely I could modify the scripts which do this but I find it unproductive an
> d counter intuitive for the need to explain that @reboot means "When cron is 
> restarted" even though the name means something completely opposite.

I don't see how cron could run reboot jobs again while running. It calls 
run_reboot_jobs only during startup. Could it be possible that cron died on 
your system and you restarted it?


-- 
Cheers,
Cy Schubert <Cy.Schubert at komquats.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org




More information about the freebsd-hackers mailing list