#!/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' lilingkaiww@163.com,495939494@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

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。