Why you shouldn’t use “Cron Jobs”
Brett Hardin

On all* modern distributions you have systemd. And systemd have idea of timers (man systemd.timer). It will give you precise control on service availability (restart, error handling, logging), rich timer specification (absolute and relative times, randomized delays). In my opinion this is much more mature solution than own half-baked job scheduler.

(*) all — Debian, Ubuntu, Centos/RHEL, Fedora, SUSE. Probably, there are some duvean-like systemd-haters, but they are not production distributions…