linux下MySQL主從同步監控shell腳本

伊谢尔伦
發布: 2016-12-03 10:55:53
原創
1612 人瀏覽過

說明:

作業系統:CentOS

目的:定時監控MySQL主從資料庫是否同步,如果不同步,記錄故障時間,並執行指令使主從恢復同步狀態

1、建立腳本檔案

vi / home/crontab/check_mysql_slave.sh   #編輯,新增下方程式碼

#!/bin/sh

# check_mysql_slave status

# authorsql.osyunwei.com

local/mysql/bin/mysql

mysql_user=root  #MySQL資料庫帳號

mysql_pass=123456  #密碼

mysql_sockfile=/tmp/mysql.sock f3%/date fcate fm. %H:%M:%S"`   #取得目前時間

mysql_slave_logfile=/home/logs/check_mysql_slave.log   #日誌檔案路徑,必須事先建立好

slave_ip=`ififconfig $ awk -F[:" "]+ '{print $4}'`

status=$($mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "show slave statusG" | grep -i "running" )

Slave_IO_Running=`echo $status | grep Slave_IO_Running | awk ' {print $2}'`

Slave_SQL_Running=`echo $status | grepave_RLunning | "Yes" -a "$Slave_SQL_Running" = "Yes" ]

then echo "Slave is Running!"

else

echo " $datetime $slave_ip Slave is not

echo " $datetime $slave_ip Slave is not running!"_myf5_osqls表_ f5_m not running! u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SLAVE STOP;"

$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SET GLOBAL SQL_SLAVE_SKIP_COUNTER17; $mysql_user -p$mysql_pass -S $mysql_sockfile -e "SLAVE START;"

$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "EXIT"

fi

fi

!

chmod +x /home/crontab/check_mysql_slave.sh  #新增腳本執行權限

2、新增任務計劃,修改/etc/crontab

vi /etc/crontab 在最後一行加上# * * root /home/crontab/check_mysql_slave.sh  #表示每10分鐘執行一次

:wq!  #儲存退出

3、重新啟動crond使設定生效

/etc/rc.d/init.d/crond restart   #yum install -y vixie-cron安裝計畫任務,某些系統上可能沒有預先安裝

chkconfig crond on #設定為開機啟動

service crond start #chsqls

可以根據日誌檔/eck/c/cave .log查看MySQL主從同步狀態

至此,Linux下MySQL主從同步監控shell腳本完成。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!