A
cd ..
System

Systemd Timers (Cron Alternative)

Schedule tasks with systemd timers instead of cron jobs.

2025-09-18
systemd, timers, automation

List all timers

systemctl list-timers

List all timers (including inactive)

systemctl list-timers --all

Check timer status

systemctl status backup.timer

Create a timer (example)

Create /etc/systemd/system/backup.timer:

[Unit]
Description=Daily Backup Timer

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

Create corresponding service

Create /etc/systemd/system/backup.service:

[Unit]
Description=Backup Service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh

Timer schedules (OnCalendar)

# Every minute
OnCalendar=*:*

# Every 5 minutes
OnCalendar=*:0/5

# Every hour
OnCalendar=hourly

# Every day at 2:30 AM
OnCalendar=*-*-* 02:30:00

# Every Monday at 9 AM
OnCalendar=Mon *-*-* 09:00:00

# Every weekday at 6 PM
OnCalendar=Mon..Fri *-*-* 18:00:00

# First day of month
OnCalendar=*-*-01 00:00:00

Enable and start timer

sudo systemctl enable backup.timer
sudo systemctl start backup.timer

Stop timer

sudo systemctl stop backup.timer

Disable timer

sudo systemctl disable backup.timer

View timer logs

sudo journalctl -u backup.timer

View service logs

sudo journalctl -u backup.service

Reload systemd

After creating/editing timer:

sudo systemctl daemon-reload

Timer with delay after boot

[Timer]
OnBootSec=5min
OnUnitActiveSec=1h

Check next trigger time

systemctl list-timers backup.timer

Was this useful?

Share with your team

Browse More