Cron vs Systemd Timer

0 0 * * *

Every day at 12:00 AM

Next 10 Executions

Times shown in UTC

  • Tue, May 19, 202600:00
  • Wed, May 20, 202600:00
  • Thu, May 21, 202600:00
  • Fri, May 22, 202600:00
  • Sat, May 23, 202600:00
  • Sun, May 24, 202600:00
  • Mon, May 25, 202600:00
  • Tue, May 26, 202600:00
  • Wed, May 27, 202600:00
  • Thu, May 28, 202600:00

Field Breakdown

0
Minute
0
0
Hour
0
*
Day of Month
Every day
*
Month
Every month
*
Day of Week
Every day of week

About This Schedule

Cron and systemd timers are both Linux job schedulers, but they take fundamentally different approaches. Cron uses a simple 5-field expression (* * * * *) in a flat crontab file. Systemd timers use .timer unit files with calendar expressions like OnCalendar=Mon..Fri *-*-* 09:00:00.

Cron advantages: simpler syntax, universal availability (every Unix system has cron), easy to edit (crontab -e), minimal boilerplate. Systemd timer advantages: built-in logging (journalctl), dependency management, boot-time scheduling (OnBootSec), randomized delays (RandomizedDelaySec), and resource controls (CPU/memory limits via cgroups).

When to use cron: simple periodic tasks, portable scripts, environments without systemd, quick one-off schedules. When to use systemd timers: production services needing logging and monitoring, jobs with dependencies, tasks requiring resource limits, or monotonic timers (e.g., "5 minutes after boot").

Frequently Asked Questions