溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用shell腳本監控mysql主從同步狀態

發布時間:2021-06-21 15:31:16 來源:億速云 閱讀:377 作者:Leah 欄目:大數據

本篇文章給大家分享的是有關如何使用shell腳本監控mysql主從同步狀態,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

#!/bin/bash
#monitor_mysql_slave status
USERNAME=xx

#如果密碼中包含特殊字符,可以加引號,避免轉義

PASSWORD='xx' 
SLAVE_HOST=ip
SLAVE_PORT=port
 
MYSQL="mysql -u$USERNAME -p$PASSWORD"
SLAVE="$MYSQL -h $SLAVE_HOST -P $SLAVE_PORT"
EMAIL_ADDR=zhangsan@qq.com 

datetime=`date +"%Y-%m-%d %H:%M:%S"`
#查看從服務器狀態
MySQL_Status=`$SLAVE -e "SHOW SLAVE STATUS\G"  | grep -E "Running|Seconds_Behind_Master"|head -n3 `

#從服務器的二個進程信息

Slave_IO_Running=`echo $MySQL_Status | grep Slave_IO_Running |awk '{print $2}'`
Slave_SQL_Running=`echo $MySQL_Status |grep Slave_SQL_Running |awk '{print $4}'`
Seconds_Behind_Master=`echo $MySQL_Status |grep Seconds_Behind_Master |awk '{print $6}'`

if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" -a "$Seconds_Behind_Master" -lt "10"]
then
    echo "Replication OK"
else
     
    SUBJECT="ERRORS in replication"
     BODY="$datetime $SLAVE_HOST  MySQL slave replication error"
    echo $SUBJECT
    echo $BODY

    #發送報警郵件
    echo $BODY | mail -s "$SUBJECT" -t $EMAIL_ADDR

fi

編寫好了之后,保存。授予可執行權限 chmod +x 文件名 ,然后執行即可。如果有錯誤,可使用sh -x 文件名 進行調試。

也可將該腳本加入到定時任務中,定時執行

使用crontab -e 命令,將下方的命令加入到定時任務中

定時任務每15分鐘執行一次

*/15 * * * * /usr/local/xx.sh

重啟crontab

以上就是如何使用shell腳本監控mysql主從同步狀態,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女