> shell编程 >

mysql主从复制监控shell脚本

########本脚本应用在生产环境中,是运用mysql主从的基础上########

vi mysqlm-s.sh
#!/bin/bash

ip=`ifconfig eth0|sed -n 2p|awk  '{ print $2 }'|awk -F : '{ print $2 }'`

port=`netstat -anl|grep 3306 |sed -n '1p' |awk '{print $4}'|awk -F: '{ print $2}'`

array=($(mysql -uUSER -pPASSWD  -e "show slave status\G"|grep "Running" |awk '{print $2}'))

if [ "$port" == "3306" ]
  then
    if [ "${array[0]}" == "Yes" ] || [ "${array[1]}" == "Yes" ]
         then
           echo "slave is OK"
      else
           /home/shell/sendEmail/sendEmail -f  XXX@XXX -t XXX@XXX -s smtp.XXX -u "mysql主从复制出错" -xu user -xp passwd -m "${ip}:slave is error"
   fi

else
  /home/shell/sendEmail/sendEmail -f  XXX@XXX -t XXX@XXX -s smtp.XXX -u "mysql停止运行" -xu user -xp passwd -m "${ip}:mysql is shutdown and slave error"

fi

###########################简单说明###################################

$ip   是获取本机IP

$port 是判断mysql服务是否正常运行

$array 是数组,$array[0] 是数组里的第一个参数,$array[1]是数组里的第二个参数

if ...then.....fi   根据获取参数来判断达到监控

${ip}:mysql is shutdown and slave error  ##注意因为mysql不正常运行,故主从复制出故障

#######################################################################

最后给予可执行权限给脚本,使用crontab -e ,每十五分钟运行一次

*/15 * * * *  /home/shell/mysqm-s.sh

本文出自 “游造技术博客” 博客,请务必保留此出处http://youzao.blog.51cto.com/3946111/743328

(责任编辑:IT)