This version of Cron is functionally based on Vixie Cron's implementation and thus allows every user to have their own CronTab file. Cron has been modifed to work with supervise. It goes without saying that you could use it without supervise. This version of cron, renamed as svcron, allows you to have crontabs in any directory. Similarly, the crontab command has been renamed as svcrontab, allowing you to edit crontabs in any directory. You are not restricted to hard coded, semi-configurable directories like /var/spool/cron. Both svcron and svcrontab have an additional -d argument to pass the crontabs directory as an argument. svcron can be started by supervise, with the appropriate command line, when it finds a directory named crontabs, in any of the service directories, configured under svscan. Additionally the service directory name is treated as an user in the passwd(5) database. If you create a directory named crontabs in any of such directories, supervise will run svcron as user user with the crontab files in crontabs sub directory. e.g. If you want to have a supervised service rotate_logs runs every day at midnight as user root -
# mkdir /service/root/crontabs
# echo "58 23 * * * svc -a /service/*/log" > /service/root/crontabs/root
You can also use svcrontab(1) to modify the crontab
# svcrontab -e -d /service/root/crontabs
Few of the standard I/O functions have been replaced by substdio interface from libqmail, fixed size arrays replaced with stralloc variables, The plan is to replace everthing with functions from libqmail.
Standard Binary Packages will be made available for RPM/ArchLinux/Debian based systems using Open Build Service.
The changes to supervise are yet to be made and published. Watch out this space for updates. There are still few things to be ironed out (mostly security concerns) and testing.
All crontab files, created without the -d option are stored in a read protected folders at /var/spool/cron/crontabs, You can have crontab files in any other directory under your control, using the -d option
A message will be logged for every command that is run by the crontab command.
You can control access to the crontab command by utilizing the allow and deny files in /var/spool/cron.