Mysql 服务器会在几天或几周内宕机,但通常是在晚上。我尝试搜索这个论坛并找到了这个命令
*/5 * * * * service mysql status > /dev/null || service mysql start
每五分钟检查一次状态,如果不工作,它会尝试重新启动,但我收到电子邮件说未找到如下命令
/bin/sh: service: command not found
我在用着
- CentOs7
- 7 号
还有一件事是,当 MySql 关闭时,我不需要重新启动它,我只需要登录到管理面板,它首先显示错误,然后刷新后一切都正常,即使 MySql 重新启动。
答案1
cron
默认情况下没有用户(特别是根)PATH 环境。
尝试给出完整路径
*/5 * * * * /usr/sbin/service mysql status > /dev/null || /usr/sbin/service mysql start
如果这不起作用(CentOS 7 使用 systemd),请尝试替换service
为/bin/systemctl
*/5 * * * * /bin/systemctl status mysql > /dev/null || /bin/systemctl start mysql
请注意,systemctl
先执行命令,然后再执行服务。
看https://www.thegeekdiary.com/centos-rhel-7-beginners-guide-to-systemd-service-units/
在 RHEL 的早期版本中,服务实用程序用于停止和启动服务。在 RHEL 7 中,systemctl 实用程序提供了一组等效的子命令。
一些发行版(例如 Ubuntu)提供了方便的脚本,可以在后台service
执行命令 - 不确定 CentOS 7 是否提供了该实用程序。systemctl