Lennart Poettering and Kay Sievers at Red Hat hope to work on a handful of new systemd
features as part of the Fedora 19 development cycle. One of the features includes work to make systemd have its own time-based job scheduler that's similar in nature to cron.
Systemd Calendar Timers
- systemd has supported timer units for activating services based on time since its inception. However, it only could schedule services based on monotonic time events (i.e. "every 5 minutes"). With this feature in place systemd also supports calendar time events (i.e. "every monday morning 6:00 am", or "at midnight on every 1st, 2nd, 3rd of each month if that's saturday or sunday").
Systemd Hardware Database
- The udevd service has a long history of managing kernel devices. Besides generating events when devices are discovered or removed it maintains a dynamic, stateless database of all available devices including meta data about them. With Fedora 19 we want to substantially enhance the metadata that udev keeps for each device, by augmenting it from a userspace database of non-essential information, that is indexed by device identification data such as PCI/USB vendor/product IDs.
Systemd Lightweight Containers
- For a longer time systemd already included the systemd-nspawn tool as a more powerful version of chroot(1), primarily inteded for use in development, experimenting, debugging, instrumentation, testing and building of software. With Fedora 19 we want to make nspawn considerably more useful, so that it can easily be used to start containers capable of booting up a complete and unmodified Fedora distribution inside as normal system services.
Systemd Message Catalog
- Logging is essential for finding and tracking down system problems. Just finding and tracking them down however is seldom enough to actually get them fixed. With Journal Message Catalogs we want to link helpful meta information directly to many log messages applications generate, keyed off an ID identifying the type of message. This localized meta information can help the user to fix the problem, refer him to additional documentation, or even inform him where to get further help.
Systemd Resource Control
- systemd already has support for assigning specific resources to system services using various configuration settings. With Fedora 19 we'd like to build on that, and add the ability for the admin to dynamically query the resource control parameters and change them at runtime.
Interesting... For the "systemd Calendar Timers", if you think it sounds a lot like cron jobs, you're not alone. The similarities to cron and Calendar Timers were already raised on the Fedora devel list
. The first response saying Calendar Timers are not the same as cron came down to, "Since a timer can be activated by a unit, or triggered by a inactive unit, you could for example run a job only if a unit is running. You can also directly express stuff that cron do not do such as running X secondes after boot, even if this could be done in cron too ( like @reboot, sleep 40 && stuff )."
Additionally, "cron is not going anywhere i.e you can still use cron." The Fedora 19 feature page says, "It doesn't affect anybody who doesn't use this." But yes, the systemd feature does have common functionality to cron, the time-based job scheduler.
If you missed it from this past weekend, Lennart Poettering Takes To Battling Systemd Myths