Linux中利用shell脚本定时检测mysql状态实现自动重启
1、背景:最近网站的MySQL数据库,晚上经常无故宕机,然后起不来了。(具体原因分析中...)
2、目的:临时解决MySQL宕机后,利用shell脚本+定时器cron,检查MySQL是否宕机,宕机就重启
3、shell脚本:【mysqlRestartXzz.sh脚本文件】 【mysqlRestartXzz.log脚本日志文件】
[root@iZ23****bZ cron]# cat /www/shell_files/mysqlRestartXzz.sh
#!/bin/bash
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ]
then
echo “At time: `date +%Y%m%d-%H:%M:%S` MySQL is stop .”>> /www/shell_files/mysqlRestartXzz.log
/etc/init.d/mysqld start
else
echo “At time: `date +%Y%m%d-%H:%M:%S` MySQL server is running .”>> /www/shell_files/mysqlRestartXzz.log
fi
![](https://www.ziyouwu.com/wp-content/uploads/2022/03/465e55427b89aef530babb90383f5802_901564-20181116132352887-1995859533.png)
![](https://www.ziyouwu.com/wp-content/uploads/2022/03/8c7ebb7277669b04fc33420ed72b8171_901564-20181116132625281-948131171.png)