mysql replication環境檢查指令碼

來源:互聯網
上載者:User

author:skate
time:2013/05/13

 

mysql replication環境檢查指令碼

 

此指令碼部署在slave端,可以通過簡訊或郵件監控slave的mysqld健康,replication環境健康,及複寫延遲。

 

指令碼:mysql_rep_moni.sh

#!/bin/bash
### author: skate
### time: 2013-05-14
### function: This script detects the mysqld health, replicaton health, replication latency

#variables
pwd=pwd
dir=/mysql/script/
ipaddr=1.1.1.1

###Determine whether there is connection
mysql_status=`netstat -nl | awk 'NR>2{if ($4 ~ /.*:3306/) {print "Yes";exit 0}}'`
  if [ "$mysql_status" == "Yes" ] ; then
        slave_status=`mysql -uroot -p$pwd -e "show slave status\G" | grep "Running" | awk '{if ($2 != "Yes") {print "No";exit 1}}'`
        slave_delay=`mysql -uroot -p$pwd -e "show slave status\G" | grep "Seconds_Behind_Master" | awk '{if ($2 >=0) {print $2 ;exit
 0}}'`
       echo "delay"$slave_delay
       echo "status"$slave_status
###replication is not working
         if [ "$slave_status" == "No" ];then
             echo "slave is not working!"
             sh "$dir"notify.sh "phone" "$ipaddr""_warn_zxg_rep" "$ipaddr""_mysql_replication_is_not_working" "dba"
             sh "$dir"notify.sh "email" "$ipaddr""_error_zxg_rep" "mysql_replication_is_not_working" "dba"
###replication is working,but replication have delay
        elif [ "$slave_status" != "No" ] && [ $slave_delay -ge 10 ] ; then
             echo "slave is working,but replication have delay!"
             sh "$dir"notify.sh "phone" "$ipaddr""_warn_zxg_rep" "$ipaddr""_mysql_replication_is_delay:$slave_delay" "dba"
             sh "$dir"notify.sh "email" "$ipaddr""_warn_zxg_rep" "mysql_replication_is_delay:$slave_delay" "dba"
        else
             echo "slave is working."
        fi
  else
       echo "mysqld is down!"
       sh "$dir"notify.sh "email" "$ipaddr""_error_zxg_mysqld" "$ipaddr""_mysqld_is_down" "dba" 

       sh "$dir"notify.sh "phone" "$ipaddr""_error_zxg_mysqld" "mysqld_is_down" "dba"
  fi

建立定時crontab
*/5     *       *       *       *       su - mysql -c "sh /mysql/script/mysql_rep_moni.sh> /dev/null 2>&1"

說明:
上面的警示API(notify.sh)可以根據自己的使用方式修改

 

------end------

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.