bit*_*oob 35 systemd systemd-timer
我已经成功地将我的一些 cron 作业迁移到了 systemd。我遵循了一些指南,并采用了创建 3 个文件的标准方法:
myjob.timer - systemd timer unit
myjob.service - systemd service unit
myjob.sh
Run Code Online (Sandbox Code Playgroud)
正如您可能猜到的那样,在某个时间触发 myjob.timer,它运行 myjob.service,然后执行 myjob.sh。
我的所有计时器都具有相同的设置,现在我看到一切正常,我想禁用 myjob.timer,它只是一个测试器。
我只是做:
systemctl --user disable myjob.timer
Run Code Online (Sandbox Code Playgroud)
还是我还必须做:
systemctl --user disable myjob.service
Run Code Online (Sandbox Code Playgroud)
正确的做法是什么?我对 systemd 很陌生,所以我想学习如何以正确的方式做事。我猜测禁用这两个单元是正确的,以保持系统没有超额行李运行。
Mar*_*erg 37
如果不myjob.service
包含[Install]
块,则仅禁用计时器就足够了。计时器是唯一启动.service
文件的东西,所以在.timer
禁用的情况下,什么都不会启动.service
文件。
还要记得跑systemctl --user stop myjob.timer
。禁用计时器可防止它在下次启动时启动,但不会停止当前正在运行的计时器。