您的位置:首页 > 数据库 > SQL

MySQL主从复制监控shell脚本

2014-06-26 16:03 676 查看
########本脚本应用在生产环境中,是运用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
本文出自 “Nick” 博客,请务必保留此出处http://nicking.blog.51cto.com/8167627/1431225
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: