从上次事件之后对工作室的网站越来越不上心了,以至于最近搜索排名直接垫底。其中一个原因就是服务器中的MySQL服务三天两头就会停止,打开网站就变成了无法连接数据库。
今天突然想起,这个问题似乎也不算是个什么大问题,只要能检测到服务是否中止,然后再重新启动不就行了嘛。用计划任务加脚本就能实现啊!说干就干!
脚本如下:
pgrep mysqld &> /dev/null
if [ $? -gt 0 ]
then
echo "`date` mysql is stop" >> /www/mysql_listen.log
service mysqld start
else
echo "`date` mysql running" >> /www/mysql_listen.log
fi
既然还是延用的宝塔,就直接用它操作吧,代码也借用网上的。
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
echo "监控到MySQL已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/mysql_listen.log
fi
如果不需要输出记录,可以删除echo
开头的那行。
尝试停止MySQL,然后回到计划任务中,点击任务中的执行,服务重启成功。