Systemd 计时器不会触发

Systemd 计时器不会触发

我有一个计时器,字面意思是这样的:

foob​​ar.service:

[Unit]
Description=Timer Test
Requires=rsyslog.service      # rsyslog is an active local service.

[Service]
Type=simple
ExecStart=/usr/bin/logger "Running foobar timer test!"

foob​​ar.计时器:

[Unit]
Description=Test Timer

[Timer]
OnCalendar=10:00              # See below about the time.
Unit=foobar.service
RemainAfterElapse=no

[Install]
WantedBy=timers.target

我通过在未来 10 分钟安装它( systemctl enable foobar.timer)来测试这一点。OnCalendar但是,它不运行,并且:

> systemctl status foobar.timer
● foobar.timer - Local Daily Tasks Timer
   Loaded: loaded (/etc/systemd/system/what.timer; enabled; vendor preset: enabled)
   Active: inactive (dead)
  Trigger: n/a

它声称已加载并启用,但处于非活动状态(死亡)。这尤其令人困惑,因为我已经按照这种模式编写了其他计时器,并且它们都可以工作......o_O?

我已经完成了除了重新启动系统之外的所有操作(我不喜欢这样做,它是一个活动服务器)。

答案1

我已经完成了除了重新启动系统之外的所有操作

哪个会起作用。否则,您必须:

  • 显式启动计时器:systemctl start foobar.timer
  • 或者重新启动计时器目标:systemctl restart timers.target

systemctl status现在将显示foobar.timer为“活动(等待)”。

根据 don_crissti 的评论,启用计时器--now也可以:

systemctl enable --now foobar.timer

相关内容