禁用 systemd 计时器单元的正确方法是什么?

禁用 systemd 计时器单元的正确方法是什么?

我已成功将一些 cron 作业迁移到 systemd。我遵循了一些指南并采用了创建 3 个文件的标准方法:

myjob.timer - systemd timer unit
myjob.service - systemd service unit
myjob.sh

您可能会猜到,在某个时间 myjob.timer 被触发,它会运行 myjob.service,而 myjob.service 又会执行 myjob.sh。

我的所有计时器都有相同的设置,现在我看到一切正常,我想禁用 myjob.timer,它只是一个测试器。

我只是这样做:

systemctl --user disable myjob.timer

或者我还必须这样做:

systemctl --user disable myjob.service

什么是正确的做法?我对 systemd 还很陌生,所以我想学习如何以正确的方式做事。我猜测禁用这两个单元以保持系统免于超重行李运行是正确的。

答案1

如果myjob.service不包含任何[Install]块,那么只需禁用计时器就足够了。计时器是启动.service文件的唯一工具,因此禁用后.timer,任何内容都不会启动.service文件。

还要记得跑步systemctl --user stop myjob.timer禁用计时器会阻止它在下次启动时启动,但它不会停止当前正在运行的计时器。

相关内容