我有一个计时器/服务单元集,在--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 不支持强制使计时器失效。