shell监控mysql主从同步

#!/bin/sh

MYSQLPORT=`netstat -na|grep"LISTEN"|grep "3306"|awk -F[:" "]+ ‘{print $5}‘`

MYSQLIP=`ifconfig eth0|grep"inet addr" | awk -F[:" "]+ ‘{print $4}‘`

STATUS=$(/usr/local/mysql/bin/mysql-e "show slave status\G" | grep -i "running")

IO_env=`echo $STATUS | grep IO |awk  ‘ {print $2}‘`

SQL_env=`echo $STATUS | grep SQL| awk  ‘{print $2}‘`

function checkMysqlStatus(){

if [ "$MYSQLPORT" =="3306" ]

then

/usr/local/mysql/bin/mysql  --connect_timeout=5 -e "showdatabases;" &>/dev/null 2>&1

if [ $? -ne 0 ]

then

echo "Server: $MYSQLIP mysqlis down, please try to restart mysql by manual!" > /var/log/mysqlerr

else

echo "mysql isrunning..."

fi

else

echo "WARN!Server: $MYSQLIP mysqlis down."

fi

}

checkMysqlStatus

if [ "$IO_env" ="Yes" -a "$SQL_env" = "Yes" ]

then

echo "MySQL Slave is running!"

else

echo "####### $DATA #########">>/data/mysql_slave_status.log

echo "MySQL Slave is not running!" >>    /data//mysql_slave_status.log

echo "MySQL Slave is not running!"

fi

时间: 2024-08-01 22:45:36

shell监控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到

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主从同步配置中监控从库运行状态的脚本

代码如下: [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自定义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

监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员

要求:每30秒实现检测一次.如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误. #!/bin/sh#monitor mysql master to salve connection#by zkg 2019-08-22 . /etc/init.d/functions #Define variablesMYSQLUSER=rootMYSQLPASSWD=DbAppSOCKET=/data/mysql/tmp/mysql.sockMYSQLCMD="mysql -

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