Skip to content

systemd-timers — systemd timers

Timers replace cron jobs on modern systems. An enabled timer that isn't active means its scheduled job silently never runs.

At a glance

ID systemd-timers
Category Services
Needs root no
Needs programs systemctl
Compares with a snapshot yes
Options 1

What it checks

  • Every timer unit: enabled timers that aren't active. Timers skipped by a condition (for example ones meant only for physical machines) are left out.

Findings

Severity Finding What to do
warning Timer name is not active systemctl status TIMER; sudo systemctl enable --now TIMER.
warning N timers were active before the upgrade but aren't now systemctl list-timers --all; re-enable the ones you need.

Compared with a snapshot

The snapshot records the active timers.

Commands it runs

systemctl list-units --type=timer --all --no-legend --plain --no-pager
systemctl show -p UnitFileState -p ConditionResult TIMER

Limitations

  • It checks that timers are active, not that their last run succeeded; a failed run shows up as a failed service in systemd-failed.

Options

Option Default Description
ignore_units [] Timers to leave out (shell-style patterns)

Set them in the configuration file under checks: systemd-timers:, or for one run with --check-option:

checks:
  systemd-timers:
    enabled: true
    ignore_units: []
pydebuprep report --check-option systemd-timers.ignore_units=VALUE

For a list option, --check-option replaces the configured list; repeat it to give several items.