What is a modern and practical way to handle scheduling tasks on a Linux desktop?
- Modern means basic features should not rely on obscure or convoluted commands and standards
- Practical means you shouldn't jump through too many hoops to do basic things, it should be usable for 10-100 tasks
- I specify Linux desktop to emphasize that the machine will not be always on, and the approach should still work without that expectation
To be more specific, I want to schedule various things like run a script to check my email, check some sites I follow for updates, check for system updates, do backups. The schedule will usually be a cron-style date time period. When a job run is missed because the computer was not on, I will sometimes want it to be "caught up with" next time it is on, and sometimes to just be ignored, depending on the exact task.
There are some options that I know about, but in my opinion none are ideal. I will post them as separate answers to help add context.