我创建了以下 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
$
但它在非活动计时器中显示,没有有关下一个、左、最后和通过时间的信息:
$ systemctl list-timers --state=inactive | grep ncc
n/a n/a n/a n/a ncc-record.timer ncc-record.service
$
我怎样才能解决这个问题 ?
systemctl enable
永远不会立即激活一个单位——systemctl start
这样做。这同样适用于计时器、服务和任何其他单元类型。唯一要做的
systemctl enable
就是根据该部分创建符号链接,以便该单元在下次启动时(或者更确切地说,每当“timers.target”下次启动时)[Install]
变为活动状态。systemctl enable --now
如果您想通过一个命令启用并启动一个单元,请使用此选项。