检查mysql主从同步的脚本

#!/bin/bash
# To determine whether slave is running or not.
#!/bin/bash
#Functionality: 如果 MySQL 同步失败,则发信息给管理员 [半小时内不重发第二次]
#Author: lrm
#Date: 2012-06-24
 
YYYY=`date "+%Y"`
MM=`date "+%m"`
DD=`date "+%d"`
HH=`date "+%H"`
mm=`date "+%M"`
ss=`date "+%S"`
date="$YYYY-$MM-$DD-$HH:$mm:$ss"
############################################################################
mysql_path=/usr/bin/mysql
user=$(sed -n '3p' /etc/test.conf | awk '{print $3}')
password=$(sed -n '4p' /etc/test.conf  |awk '{print $3}')
ip=$(/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}' | head -1)
Slave_IO_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_IO_Running" | awk '{print $2}')
Slave_SQL_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_SQL_Running" | awk '{print $2}')
 
 
  ###判断两个同步状态是否为YES
if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]
  ###如果是都为YES执行输出
then
  echo $date -- "Slave is running!"
  #echo $date -- "Slave is running!"  >> /var/log/mysql/mysql_slave.log
  ###如果有一个不为YES执行下面,保存日志
else
  #echo $date -- "Slave is not running!"
  echo $date -- "Slave is not running!" >> /var/log/mysql/mysql_slave.error.log
  ###并向管理员发送短信提醒
  php /web/siteManger/reportMySQLSyncErr.php
fi

本文出自 “信不信由你” 博客,转载请与作者联系!

你可能感兴趣的:(mysql,脚本,主从同步)