post from 2025
systemd is a relatively new utility that provides an array of components for Linux systems.
what
Snideness aside, systemd timers can be pretty neat. They also have some features like being able to specify “Daily” and setting some looseness in when it triggers if you e.g. have a fleet of machines and don’t want them all to do something at exactly the same time.
To be fair, it is relatively new. Cron will be 50 this year which blows my fucking mind.
The author fails to mention you can also use timers to do schedules like “every 15 minutes, 5 minutes after the systemd started”. Very useful for scheduling automatic updates or backups.
How are systemd timers not a solution looking for a problem?
Explain?
Cron already exists and is established as the solution in this space. It’s also used as the model for a lot of other timer services outside the Linux kernel.
Have you read the article? The fourth paragraph lists improvements systemd timers bring over cron:
Cron is easy, very simple and robust mechanism to execute periodic tasks on a *nix server, and is available by default on all popular Linux distributions. However, cron suffers from some issues:
-
If the system is down when the cron needs to run, the cron will be missed
-
There is no built-in status monitoring
-
There are no built-in logs
-
If you want to execute pre/post commands (for example by pinging an external service for success/failure) you have to do it inside the script itself
All of these issues are addressed with systemd services and timers, as the authors explains in details.
-