因为换了公司,时间变得特别少,于是也就没什么时间倒腾服务器和网站了。
最近就一直在减少不必要的支出,比如减少服务器数量。
于是很多服务应用就被迫放到一个小服务器上,于是就出现了一个很严重的问题,MySQL服务经常莫名其妙的自动停止了,于是网页就会显示无法连接到数据库,非常的头疼!
问题总要解决,虽然可以通过手动启动MySQL暂时解决,但毕竟很麻烦。
其实可以通过Shell脚本命令让其定时执行检查,如果MySQL服务停止,就执行启动命令,每天检查一遍,这样至少可以避免长时间的服务停止的风险。
Shell脚本命令可以用下面这段:
# 查找进程
pgrep -x mysqld &> /dev/null
# 判断进程是否停止,如果停止(不等于0),执行启动命令
if [ $? -ne 0 ];then
/etc/init.d/mysqld start
fi
如果服务器有安装宝塔面板,就比较简单,直接选择计划任务,新建一个定时任务即可:
如果没有宝塔面板,就比较麻烦,首先要新建一个脚本文件,然后用cron每日去执行这个文件,即可实现。
比如我们查看服务器根目录下的etc
,就可以看到cron的日常执行文件,可以参考看下写法以及执行逻辑:
这个我没有亲自尝试,仅提供下这个思路供参考。有兴趣的可以继续尝试探索下。
2023年3月25日 下午12:24 1F
实测有用!
可以关闭mysql服务,然后执行下脚本,自己测试下,是否有用