On Linux, many distros ship with systemd. Systemd supports "timers", which are a kind of systemd service for running programs on a schedule... Is there a similar way of scheduling tasks in OS X?
It’s called launchd
.
From Wikipedia:
launchd is an init and operating system service management daemon created by Apple Inc. as part of macOS to replace its BSD-style init and SystemStarter. There have been efforts to port launchd to FreeBSD and derived systems