Jim*_*ron 2 linux debian cron systemd
我有一个简单的 crontab 条目,它应该停止服务,但它不起作用。
* * * * * systemctl stop nginx
Run Code Online (Sandbox Code Playgroud)
我什至试过:
* * * * * /bin/systemctl stop nginx
Run Code Online (Sandbox Code Playgroud)
因为那不是命令显示的 systemctl 的位置。
该行适用于 root 用户,但不适用于 root 的 crontab。
不工作,我的意思是服务没有关闭。我可以确认服务器仍在运行并且 systemctl status nginx 显示它处于活动状态。
我究竟做错了什么?
可能是因为你没有告诉 cron 使用 root。
* * * * * root /bin/systemctl stop nginx
Run Code Online (Sandbox Code Playgroud)
这将每分钟执行一次命令,无论 nginx 状态如何(启动与否)
话虽如此,如果目标是确保 nginx 永远不会启动,为什么不禁用它呢?
systemctl disable nginx
Run Code Online (Sandbox Code Playgroud)
==编辑==
Aaron Copley 在评论中提出的好观点,为了确保即使在启动后 nginx 也不会启动,命令应该是;
systemctl mask nginx
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4520 次 |
| 最近记录: |