hcrond is a cron that stores crontab in a database and has a number of features that make it suitable for hostings
the current available version is hcrond-0.3.2 and hcrond-0.3.2-nopid but it is old and the non-nopid version has memory problems. A version 0.4.0 is being worked on and will be available in July 2009. Or, go to the project site.
(note: not all of these features are available in 0.3.2)
- use cron syntax (*/40, 1-8,12,24, *, ...)
- have crontab in a MySQL, PostgreSQL or SQLite3 table
- second precision (standard cron only allows you to specify minutes)
- setuid and setgid support
- limit on number of processes running concurrently at a time
- autocreate dbtable if it doesn't exist
- jobs can be set to run only on specific machine
- per-job enabled flag
- access db fields by name so you can extend the db schema
This is a list of "features" that will not be implemented unless someone specifically asks for them. Most of them were in 0.3.2 but (IMHO) only complicated the design without any actuall benefit because they can be replaced using already existing tools. They will not be available in 0.4.0, but I will implement them in later versions if someone needs them. Go to the forum.
- no pidfile support, there's tools for that (start-stop-daemon -m --pidfile=...)
- no daemonize support, there's tools for that too (star-stop-daemon -b; runsvc), also no kill support
- no logging support, there's tools for that too (multilog or svlogd)
- no init.d files, that's distro specific
- no chroot option, you can always run chroot
- no run in shell support, you can always do sh -c 'foo'
- no nice settings, you can run nice -n N cmd
- doesn't reload config on SIGHUP .. no point in that, just restart it
- no pause/resume running support, you can use SIGSTOP and SIGCONT
- no timezone setting support, just run with TZ env variable