May 26, 2018
Tools for running commands at particular times
The biggest difference between runwhen and other schedulers is that runwhen doesn’t have a single daemon overseeing multiple jobs. The runwhen tools essentially act as a glorified sleep command. Perhaps runwhen does nothing that at1 doesn’t, and there are lots of things at1 does that runwhen doesn’t
- runwhen doesn’t change user IDs - thus it will never run anything as the wrong user.
- It doesn’t keep a central daemon running at all times - thus it won’t break if that daemon dies.
- It doesn’t require any modifications to the system boot procedure.
- It doesn’t log through syslog3 - thus it won’t make a mess on the console if syslogd1 isn’t running.
- It doesn’t centralize storage of scheduled jobs or any other per-job information - thus unprivileged users can install and use it without cooperation from root, and without the use of a setuid program to handle changes.
- It doesn’t send output through mail - thus it doesn’t break if there is no mail system installed.
- It doesn’t check access control files - thus it doesn’t gratuitously deny users.