是否可以手动执行单个 systemd 计时器配对服务单元以进行测试?

是否可以手动执行单个 systemd 计时器配对服务单元以进行测试?

我有一个计时器/服务单元集,在--user一定条件下应该每天运行一次。它显示systemctl --user status并记录在日志中,但命令的一部分失败了。

似乎命令中的某些内容没有被正确解释。我想对单元文件进行模糊处理并运行服务,检查日志等来调试问题;然而,编辑计时器以触发未来的一分钟,等待并检查日志......很乏味。

可以做一些像systemctl --user execute xxxxxx.service定时器触发一样运行该死的事情吗?

答案1

您可以手动激活任何单元,除非它包含RefuseManualStart=yes和/或RefuseManualStop=yes指令(其功能完全按照他们所说的那样)。只是发出systemctl --user start <whatever>(并systemctl --user stop <whatever>做相反的事情)。

去引用系统控制(1):

开始 图案...

启动(激活)命令行上指定的一个或多个单元。

<...>

停止 图案...

停止(停用)命令行上指定的一个或多个单元。


请注意,手动启动计时器的配对单元不会影响计时器自身的状态(即,不会更改计时器LastTrigger*NextElapse*属性),也不会更改下次经过的时间。 systemd 不支持强制使计时器失效。

相关内容