(^o^)/~完美 发表于 2018-8-19 13:31:02

自动检查MySQL主从同步状态的shell脚本

#!/bin/bash  
#Check MySQL_Slave Status
  
#MySQL version: 5.6.27
  
#
  
MySQL_PORT=`netstat -an|grep "LISTEN"|grep "3306"|awk -F ' ' '{print $4}'|awk -F ':' '{print $4}'`
  
MySQL_IP=`ifconfig eth0 |grep "inet addr"|awk -F ':' '{print $2}'|awk -F ' ' '{print $1}'`
  
MySQL_Status=$(/usr/local/mysql/bin/mysql -S /tmp/mysql.socket -uroot -pfgjh123. -e "show slave status\G" |grep -i "running"|head -n2)
  
IO_env=`echo $MySQL_Status | grep Slave_IO_Running |awk '{print $2}'`
  
SQL_env=`echo $MySQL_Status |grep Slave_SQL_Running |awk '{print $2}'`
  
ToDay=`date +"%y-%m-%d %H:%M:%S"`
  
if [ "$MySQL_PORT" == "3306" ]
  
then
  
    echo "######$ToDay######" >> /data/check_mysql_slave_ok.log
  
    echo "MySQL Server is running !" >> /data/check_mysql_slave_ok.log
  
else
  
mail -s "Warn! Server:$MySQL_IP MySQL is Down" balich@qq.com
  
fi
  
if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
  
then
  
    echo "######$ToDay######" >> /data/check_mysql_slave_ok.log
  
    echo "Slave MySQL Server Slave_IO and Slave_SQL is running !" >> /data/check_mysql_slave_ok.log
  
else
  
echo "######$ToDay######" >> /data/check_mysql_slave_warn.log
  
echo "Slave is not running !" >> /data/check_mysql_slave_warn.log
  
echo "Slave is not running !" | mail -s "Warn! $MySQL_IP MySQL Slave is not running " balich@qq.com
  
fi


页: [1]
查看完整版本: 自动检查MySQL主从同步状态的shell脚本