代码如下:

  1. #!/bin/bash
  2. #Check MySQL Slave's Runnning Status
  3. #Crontab time 00:10
  4. MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`
  5. MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
  6. STATUS=$(/usr/bin/mysql -uroot -p11111 -S /var/lib/mysql/mysql.sock -e "show slave status\G" | grep -i "running")
  7. IO_env=`echo $STATUS | grep IO | awk  ' {print $2}'`
  8. SQL_env=`echo $STATUS | grep SQL | awk  '{print $2}'`
  9. DATA=`date +"%y-%m-%d %H:%M:%S"`
  10. function checkMysqlStatus(){
  11. if [ "$MYSQLPORT" == "3306" ]
  12. then
  13. /usr/bin/mysql -uroot -p11111 --connect_timeout=5 -e "show databases;" &>/dev/null 2>&1
  14. if [ $? -ne 0 ]
  15. then
  16. echo "Server: $MYSQLIP mysql is down, please try to restart mysql by manual!" > /var/log/mysqlerr
  17. mail -s "WARN! server: $MYSQLIP  mysql is down." admin@yourdomain.com < /var/log/mysqlerr
  18. else
  19. echo "mysql is running..."
  20. fi
  21. else
  22. mail -s "WARN!Server: $MYSQLIP mysql is down." admin@yourdomain.com
  23. fi
  24. }
  25. checkMysqlStatus
  26. if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
  27. then
  28. echo "MySQL Slave is running!"
  29. else
  30. echo "####### $DATA #########">> /data/mysql/mysql_slave_status.log
  31. echo "MySQL Slave is not running!" >>    /data/mysql/mysql_slave_status.log
  32. echo "MySQL Slave is not running!" | mail -s "WARN! $MYSQLIP MySQL Slave is not running." admin@yourdomain.com
  33. fi

建议每十分钟运行一次
*/10 * * * * root /bin/sh /root/mysql_slave_status.sh

原理:

1)监控MYSQL的运行状态;
2)Slave机器的IO和SQL状态都必须为YES,缺一不可;

注意,请结合自身的实际环境使用。

最新文章

  1. JQuery日历控件
  2. ENode 1.0 - Command Service设计思路
  3. Leetcode 198 House Robber 动态规划
  4. Lambda表达式和匿名内部类(I)
  5. android stuio eclipse映射下的快捷键
  6. windows phone 新手引导
  7. 转载:简单介绍Python中的try和finally和with方法
  8. 【Java】Treeset实现自定义排序
  9. [改善Java代码]集合中的元素必须做到compareTo和equals同步
  10. 用Delphi7开发Web Service程序 转
  11. ImageView显示不出来图片
  12. hdu4405(概率dp)
  13. Japanese Learning - Words and Sentences 1
  14. R语言高性能编程(三)
  15. [Luogu 2816]宋荣子搭积木
  16. 使用BeetleX的TcpBenchmark工具进行百万设备模拟测试
  17. 理解Device Tree Usage(续)
  18. GoGland 快捷键说明
  19. h5动画如何实现?如何快速开发h5动画
  20. 【Java每日一题】20170302

热门文章

  1. [BZOJ3223]文艺平衡树 无旋Treap
  2. 【BZOJ4828】【HNOI2017】大佬(动态规划)
  3. Hive(一)基础知识
  4. Codeforces Round #298 (Div. 2)A B C D
  5. HDU4388:Stone Game II(博弈+思维)
  6. Servlet3.0 新特性
  7. Libevent学习笔记(五) 根据例子学习bufferevent
  8. discuz安装小云app
  9. 微信小程序语音识别
  10. SpringCloud学习(4)——Ribbon负载均衡