无法停止通过cron计划任务调度的MySQL服务求助
解决cron执行脚本时找不到service命令的问题
问题说明
通过cron调度的MySQL恢复脚本执行时,报错「第21行:service: 命令未找到」,脚本中已使用/usr/sbin/service mysql stop仍无法解决。
解决方法
确认service命令的实际路径
在终端执行which service获取真实路径,比如输出/usr/bin/service,就把脚本中的命令替换为:/usr/bin/service mysql stop在脚本开头添加完整PATH环境变量
cron的默认PATH范围很窄,在脚本最顶部加入全局PATH配置:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin确保包含service命令所在的目录。
改用systemctl命令(适用于systemd系统)
若系统使用systemd(如CentOS7+、Ubuntu16.04+),直接用systemctl替代service更可靠:systemctl stop mysql也可添加绝对路径确保cron能找到:
/usr/bin/systemctl stop mysql
内容的提问来源于stack exchange,提问作者Rinkesh
相关产品推荐
相关产品推荐

