zoukankan      html  css  js  c++  java
  • 监控MYSQL主从同步配置中监控从库运行状态的脚本

    代码如下:

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


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

    原理:

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

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

  • 相关阅读:
    单例类
    日期类2
    日历类
    日期转换类
    抓取网页内容并截图
    关于计时器与多线程
    让页面上图片不变形
    Thread 调用方法的方式
    语音放大缩小
    阻止Enter键回发到服务端Asp.net
  • 原文地址:https://www.cnblogs.com/frankielf0921/p/5925571.html
Copyright © 2011-2022 走看看