參考文檔:檢測mysql狀态,實作自動重新開機
1.測試環境
centos 6.x
2.腳本代碼
#!/bin/bash
count=0
#嘗試循環10次後退出
while [ $count -lt 10 ]
do
pgrep -x mysqld >/dev/null
if [ $? -ne 0 ];then
count=$[$count+1]
#不能使用service mysqld start,啟動不成功
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
else
echo “MySQL server is running .”
break
fi
done
if [ $count -ne 0 ];then
#寫入日志檔案,不需要可以注釋掉
echo -e “At time: ` date "+%Y-%m-%d %H:%M:%S"` :MySQL is stop . Trying to restart $count times .\n” >>/root/sqllog.txt
fi
注意:複制上面儲存成sh腳本,記得轉換成UNIX格式
2.添加定時任務
crontab -e
*/1 * * * * /目錄/檔案名.sh
具體操作:
1 ) 輸入
crontab -e
2)輸入
i
字元,變成插入狀态
3)輸入的定時代碼
*/1 * * * * /目錄/檔案名.sh
例如
*/1 * * * * /root/mysql.sh
這條代碼表示1分鐘執行一次/root目錄下的mysql.sh檔案
4)點選鍵盤Esc鍵,退出插入狀态。
5)輸入
:wq
儲存并且退出
6)輸入
crontab -l
檢視是否添加成功