Tyblog | You Don't Love systemd Timers Enough

Arguably the most important bit of information about timers is how to express a schedule, whether a repeating period of time (which the manual usually refers to as a time span) versus a calendar event (or a timestamp). Fortunately, I think the man page for this under systemd.time(7) is actually very good with plenty of examples. You should use it as the first resource when writing timers; it's good (or better) than, uh, casual blog posts by casual writers.


This is a companion discussion topic for the original entry at https://blog.tjll.net/you-dont-love-systemd-timers-enough

WakeSystem doesn’t work properly for some people: Systemd timer with WakeSystem=true not counting down when system is suspended - Fedora Discussion

Also, suspend does not work properly on Linux on many laptops, so I don’t know how useful this feature actually is.

Timers can’t start a unit every X days or on every Xth week of the year, at least I wasn’t able to find how.

A persistent timer will start the unit even if the missed execution occurred so while back that there are only a few minutes until the next execution. You should be able to define the limit of the amount of time since the last missed execution that still causes the unit to be started late. This feature is useful when you want there to be at least X seconds in between executions of your desired script.

Having to create two files to create a cronjob makes adhoc usage annoying. Being able to just run a command that specifies the time and the command to be executed on time is more convenient.

Because of these missing features, I think I love timers as much as they deserve.