我们有一个嵌入式目标环境(独立于主机构建环境),其中systemd
正在运行但不是cron
.
我们还有一个脚本,在大多数系统下,我只需创建一个cron
条目以每五分钟运行一次。
现在我知道如何在下创建服务,但是systemd
这个脚本是一次性的,它在完成工作后退出。我想做的是让它在启动时立即运行(syslog.target
当然是在 之后),然后每五分钟运行一次。
阅读systemd
计时器后,我创建了以下服务文件/lib/systemd/system/xyzzy.service
:
[Unit]
Description=XYZZY
After=syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/xyzzy.dash
和等价物/lib/systemd/system/xyzzy.timer
:
[Unit]
Description=XYZZY scheduler
[Timer]
OnBootSec=0min
OnUnitActiveSec=5min
[Install]
WantedBy=multi-user.target
不幸的是,在启动目标时,计时器似乎没有启动,因为 的输出systemctl list-timers --all
不包括它。手动启动计时器单元似乎可以正常工作,但这应该在用户干预下自动运行。
我原以为这WantedBy
会确保计时器单元已安装并运行,因此会定期启动服务。但是,我注意到该multi-user.target.wants
目录实际上没有计时器的符号链接。
这是如何完成的systemd
?