天天看點

shell-監控mysql狀态,實作自動重新開機

參考文檔:檢測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

檢視是否添加成功