监控MySQL主从同步脚本

#!/bin/sh
#date:2015-12-07
#filename:Check_MySQL-rep.sh
#作者:linuxzkq

#Email:[email protected]
#version:v1.0

Mysql_cmd="mysql -uroot -poldboy"
Error_num=(1158 1159 1008 1007 1062)

while true
do
    rep=($($Mysql_cmd -e "show slave status\G;"|egrep "_Running|Behind_Master|SQL_Errno"|awk ‘{print $NF}‘))      
    if [  "${rep[0]}"  ==  "Yes"  -a  "${rep[1]}"  ==  "Yes"  -a  ${rep[2]}  ==  "0"  ]
         then
            echo "MySQL  slave  rep  is OK"
    else
            for ((i=0;i<${#Error_num[*]};i++))
            do
                if [  "${rep[3]}"  ==  "${Error_num[$i]}"  ]
                   then
                       $Mysql_cmd -e "stop slave;set global sql_slave_skip_counter=1;start slave;"
                fi
            done
            char="Warnning,MySQL slave rep is not OK!"
            echo "$char"
            echo "$char"|mail -s "$char" [email protected]
    fi              
      sleep 5
done

时间: 2024-10-09 20:26:52

监控MySQL主从同步脚本的相关文章

监控mysql主从同步状态是否异常,如果异常,则发生短信或邮寄给管理员

阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),请跳过错误 阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) [[email protected] ~]# mysql -u root -proot -e "show slave status\G;" *************************** 1. row ***************************       

监控MySQL主从同步

脚本监控数据库主从同步 来源:http://oldboy.blog.51cto.com/2561410/1632876 来源: (生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟: 阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误. 阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分 [[em

监控MySQL主从同步是否异常并报警企业案例模拟

企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒实现检测一次.阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误.阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) 此题来自:http://oldboy.blog.51cto.com/2561410/1632876 解答参考1: #!/bin

shell监控MySQL主从状态脚本两则

内容为自己的一点总结,如有不对欢迎狠劲儿拍砖 本文来自http://yijiu.blog.51cto.com/转载请经博主同意,翻版可耻 监控主从复制正常与否 相比各位都应该知道,监控主从是否工作正常,涉及命令如下: show slave status\G; 那么,我们需要关注的参数如下: 1. 首先查看SQL和IO线程是否为YES状态(想必各位都明白了) 2. 是否有延迟 是否大于0   #一般生成环境延迟是否大于500秒,如果大于500则报警,如大于1000则严重报警 #比如传递一个sql到

监控MYSQL主从同步配置中监控从库运行状态的脚本

代码如下: [java] view plain copy #!/bin/bash #Check MySQL Slave's Runnning Status #Crontab time 00:10 MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'` MYSQLIP=`ifconfig eth0|grep "inet addr" 

zabbix监控mysql主从同步

1,部署了个mysql从数据库,需要时时监控这个从数据库的主从状态.原理的话,是通过从mysql上的zabbix执行show slave status获取Slave_IO_Running|Slave_SQL_Running状态是否都为Yes来判断主从是否正常. MySQL同步功能由3个线程(master上1个,slave上2个)来实现,简单的说就是:master发送日志一个,slave接收日志一个,slave运行日志一个.首先,我们解释一下 show slave status 中重要的几个参数:

mysql主从同步脚本监控脚本

结合我的另一篇zabbix自动发现Mysql并监控的博客使用最佳: 链接点我 脚本很简单,一看就明白: [[email protected] files]# cat libexec/slave.sh  #!/bin/bash ##slave.sh ##YES ---- 1 ##NO  ---- 0   export MYSQL_PWD=xxxxxx xstats () { STATS=$(/usr/local/mysql/bin/mysql -h127.0.0.1 -uUser_name  -P

zabbix监控mysql主从同步和延迟

https://blog.csdn.net/natmazz/article/details/90581490 https://www.cnblogs.com/01-single/p/10602610.html 一.环境需求 主机A: zabbix-server 主机B: zabbix-agent/mysql从 二.主机B操作 1.添加监控脚本 vim /data/zabbix/mysql_slave_check.sh #!/bin/bash #2019年03月26日16:25 #auto che

zabbix自定义key监控mysql主从同步超简单!

1.在zabbix客户端配置文件中加入: 首先要对mysql提供一个查询主从状态的账号!(当然用root也可以.) UserParameter=mysql.replicate_error,if test `mysql -uxxx -pxxx -h127.0.0.1 -e 'show slave status\G' | awk -F: '{if($1~/Slave_IO_Running/) print$2}' ` = "Yes" -a `mysql -uxxx -pxxx -h127.0