The modern alternative to cron.
WHAT THEY ARE
Scheduled units managed by systemd.
WHAT THEY PROVIDE OVER CRON
Logging through the journal Dependency handling Catching up after the machine was off Randomised delays, to spread load
WHY THE CATCH-UP MATTERS
A cron job missed while a machine was down never runs; a timer can.
WHAT TWO FILES ARE NEEDED
A service unit describing what to run A timer unit describing when
WHAT THE KEY TIMER SETTINGS ARE
A calendar expression, or a delay after boot or after the last run A randomised delay Whether to catch up on missed runs
HOW TO LIST THEM
systemctl with the list-timers option.
WHAT THAT SHOWS
When each last ran and next runs.
WHY THAT IS USEFUL
It answers whether a schedule is actually active, which cron makes harder.
HOW TO TEST WITHOUT WAITING
Start the service unit directly.
WHERE TO SEE THE OUTPUT
The journal, filtered by that unit.
WHEN TO PREFER CRON
Simple schedules, shared hosting, and anywhere systemd is not in use.
WHEN TO PREFER TIMERS
Anything where you need to know whether it ran.