为什么我已启用 systemd 计时器,但它仍显示在非活动计时器中?

为什么我已启用 systemd 计时器,但它仍显示在非活动计时器中?

我创建了以下 SystemD 计时器和服务并启用了该计时器:

$ sudo install -vpm 644 ncc-record.* /usr/local/lib/systemd/system/
'ncc-record.service' -> '/usr/local/lib/systemd/system/ncc-record.service'
'ncc-record.timer' -> '/usr/local/lib/systemd/system/ncc-record.timer'
$ sudo systemctl daemon-reload
$ systemctl cat ncc-record.*
# /usr/local/lib/systemd/system/ncc-record.service
[Unit]
Description=Record the New Creation Church Live sermon
After=network-online.target

[Service]
Type=oneshot
User=sebastien
Group=sebastien
#UMask=026
ExecStart=/home/sebastien/myScripts/shl/record_NCC_Live_Then_Suspend.sh

# /usr/local/lib/systemd/system/ncc-record.timer
[Unit]
Description=Trigger the service record.service
[Timer]
OnCalendar=Sun *-*-* 11:29:30
[Install]
WantedBy=timers.target
$ sudo systemctl enable ncc-record.timer 
Created symlink /etc/systemd/system/timers.target.wants/ncc-record.timer → /usr/local/lib/systemd/system/ncc-record.timer.
$

我的计时器没有显示在活动计时器中:

$ systemctl list-timers | grep ncc
$

但它在非活动计时器中显示没有关于 NEXT、LEFT、LAST 和 PASSED 时间的信息:

$ systemctl list-timers --state=inactive | grep ncc
n/a                          n/a           n/a                          n/a           ncc-record.timer               ncc-record.service
$

我怎样才能解决这个问题 ?

答案1

systemctl enable永远不会立即激活一个单元 –systemctl start这样做。这同样适用于计时器、服务和任何其他单元类型。

唯一要做systemctl enable的就是根据[Install]部分创建符号链接,以便该单元变为活动状态下次启动时(或者,更确切地说,每当下次启动“timers.target”时)。

systemctl enable --now如果您想通过一个命令启用并启动一个单元,请使用。

相关内容