在各种示例中,我看到了所有这些不同的选择建议:
然而,在我发现的例子中,没有提供进一步的解释。
以下页面也没有提供任何对 WantedBy 的解释:
我想了解一种简单的方法,我可以在需要时使用它来编写 systemd 计时器而不是 cron 作业。
*设置一个 cron 作业是 1 行。Systemd 计时器涉及写入两个文件并运行一两个 systemctl 命令。但是,根据我的经验,仅凭这一事实并不一定是使 systemd 计时器比 cron 更难的原因——这是众多选项和(似乎)缺乏清晰的文档以及完整解释的简单示例的原因。
对于简单的用例,请使用WantedBy=timers.target
. 见man systemd.special
:
timers.target
一个特殊的目标单元,它设置所有在启动后应处于活动状态的计时器单元(有关详细信息,请参阅 systemd.timer(5))。
建议应用程序安装的计时器单元通过
Wants=
该单元的依赖项被拉入。这最好通过WantedBy=timers.target
计时器单元的“[Install]
”部分进行配置。
定时器Before=timers.target
默认依赖于。而且,如果你检查man bootup
,你会看到basic.target
在拉timers.target
作为一个依赖。所以我认为WantedBy=basic.target
在大多数情况下似乎可以正常工作(对于default.target
,通常是multi-user.target
或graphical.target
,两者都在 之后basic.target
)。但:
timers.target
被basic.target
异步拉入。这允许计时器单元依赖于仅在启动后才可用的服务。
因此,依赖于其他服务单元的更复杂的计时器最好依赖于其他服务单元timers.target
而不是任何其他服务单元。
归档时间: |
|
查看次数: |
5408 次 |
最近记录: |