Interview Scripting (Bash, Groovy)

What is the difference between a cron job and a systemd timer? [Advanced]

Answer

Cron is the traditional time-based scheduler. A systemd timer is integrated with systemd units, logs, dependencies, missed-run handling, randomized delays, and service isolation. On modern Linux servers, I prefer systemd timers for managed operational jobs.

Technical explanation

Cron is simple and widely available, but its environment and logging are minimal.

systemd timers can trigger services, show status with systemctl, log to journald, and run missed jobs with Persistent=true.

For containers and Kubernetes, use the platform's scheduler, such as Kubernetes CronJob, rather than host cron when possible.

Hands-on example

# /etc/systemd/system/backup.service

[Service]

Type=oneshot

ExecStart=/usr/local/bin/backup.sh

# /etc/systemd/system/backup.timer

[Timer]

OnCalendar=*-*-* 02:30:00

Persistent=true

[Install]

WantedBy=timers.target

systemctl enable --now backup.timer

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Scripting (Bash, Groovy) interview questions

← All Scripting (Bash, Groovy) questions