With the demise of the LCFG boot component we have lost the
boot.run facility. This was a useful place to hang jobs which needed to be run on a daily basis, for example, the daily run of updaterpms to update the installed set of software packages. It provides a very simple and convenient way of running a list of LCFG component methods and shell commands in the specified order on a daily basis at a time which is appropriate for the machine.
Although we could just replace this with a simple cron job for each task, such as updaterpms, we see this as an opportunity to enhance the facility to provide other functionality, in particular, it would be nice if we could have an anacron-like service. The anacron tool ensures that jobs run with a particular frequency (e.g. daily, weekly or monthly), to do this it keeps a timestamp of when the job was last run and then compares that to the current time to see if the interval has been exceeded. We cannot easily just use anacron as we also wish to limit when certain jobs will run based on the time of day, for instance, we do not usually want to have updaterpms run during office hours as it can inconvenience users.
It is likely that most of our regular system-maintenance cron jobs could be grouped so that they only run at certain times of day. They rarely ever need to run at a particular, specific time, just stating something like “morning”, “afternoon” or “evening” might be sufficient. If the distribution of cron jobs could be reduced to something like 4 groups per day then there is the opportunity for lightly used machines to sleep for long periods rather than the current situation where they have to wake up for cron jobs quite a lot more frequently.
At the moment I’m just at the stage of thinking about what functionality we can provide so now is the time to chip in with your thoughts.