I use the following rule of thumb:

cron: use it if I want a task to *repeat* on a schedule (or at boot)

at: use it if I want to run a job *once* at some absolute imprecise time (IIRC, at has a 5min resolution) in the future

sleep $(( 60 * 5 )) && cmd: use it for a task I want to run *once* relative to the current time

systemd timers: avoid anything systemd to the best of my ability

๐Ÿ˜‰

0

If you have a fediverse account, you can quote this note from your own instance. Search https://mastodon.bsd.cafe/users/gumnos/statuses/115605566855075037 on your instance and quote it. (Note that quoting is not supported in Mastodon.)