mysql主从同步监控---邮件告警

#!/bin/bash
#check MySQL_Slave Status
#crontab time 00:10
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 -u root -p'xxx' -S /usr/local/mysql/mysql.sock -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 $4}'`
Seconds=`/usr/local/mysql/bin/mysql -u root -p'xxx' -S /usr/local/mysql/mysql.sock -e "show slave status\G" | grep -i "Seconds_Behind_Master" | awk  '{print $2}'`
#SQL_env1=`echo $STATUS | grep SQL`
DATA=`date +"%y-%m-%d %H:%M:%S"`
#echo "$STATUS"
#echo "$SQL_env"
#echo "$SQL_env1"
if [ "$MYSQLPORT" == "3306" ]
then
 echo "mysql is running"
else
 echo  "数据库没有启动" | mail -s 'warn!server:  mysqlBI slave is down' xx@163.com,xx@qq.com,baiyufeideyouxiang@163.com
fi

if [ "$IO_env" == 'Yes' -a "$SQL_env" == 'Yes' ]
then
 echo "Slave is running!"
else
 echo "Slave is not running!"
 echo "####### $DATA #########">> /data/data/check_mysql_slave.log
 echo "Slave is not running!" >>    /data/data/check_mysql_slave.log
 echo "Slave is not running!" | mail -s 'warn!server:  mysqlBI slave is down' xx@163.com,xx@163.com
fi

if [ "$Seconds" -lt "500" ]
then
 echo "Slave is running!" 
else
 echo "Slave is not running!"
 echo "####### $DATA #########">> /data/data/check_mysql_slave.log
 echo "Slave is not running!" >>    /data/data/check_mysql_slave.log
 echo "mysqlBI slave is down.The Seconds  slowly " | mail -s '  mysqlBI slave is down.The Seconds  slowly' xx@163.com,xxx@163.com
fi

 

posted @ 2019-05-09 14:35  天宇星空  阅读(612)  评论(0编辑  收藏  举报