• 监控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,缺一不可;

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

  • 相关阅读:
    Python 中的 __str__ 与 __repr__ 到底有什么差别
    02 LeetCode---链表相加
    01 LeetCode---两数之和
    python 数据结构一 之 线性表
    来自C++的"Const式"傲娇
    string 与 char 字符串区别-1
    超级有爱的并查集入门
    多项式求解
    竞码编程-蓝桥杯模拟赛4-D题
    树的直径-蓝桥杯大臣的旅费
  • 原文地址:https://www.cnblogs.com/frankielf0921/p/5925571.html
Copyright © 2020-2023  润新知