mysql 主从复制监控脚步

来源:互联网 发布:网络宣传有什么好处 编辑:程序博客网 时间:2024/06/10 12:33

当监控异常时会通过邮件通知,因此需要支持邮件服务,可参考我另一篇博客安装邮件服务

ubuntu16.04 heirloom-mailx 通过外部SMTP服务器发送邮件


把监控脚步放置在crontab中定时执行

*/10 * * * * root /bin/sh /root/mysql_slave.sh


mysql_slave.sh监控脚步内容

#!/bin/bash   #Check MySQL Slave's Runnning Status  #Crontab time 00:10    MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`  MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`  STATUS=$(/usr/local/mysql/bin/mysql -uroot -p123456 -e "show slave status\G" | grep -i "running")  IO_env=`echo $STATUS | grep IO | awk  ' {print $2}'`  SQL_env=`echo $STATUS | grep SQL | awk  '{print $2}'`  DATA=`date +"%y-%m-%d %H:%M:%S"`    function checkMysqlStatus(){      if [ "$MYSQLPORT" == "3306" ]      thenecho "mysql is running..."      else          mail -s "WARN!Server: $MYSQLIP mysql is down." lvfengkai@elinksmart.com      fi  }     checkMysqlStatus    if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]  then    echo "MySQL Slave is running!"  else    echo "####### $DATA #########">> /var/log/mysql_slave_status.log    echo "MySQL Slave is not running!" >>    /var/log/mysql_slave_status.log    echo "MySQL Slave is not running!" | mail -s "WARN! $MYSQLIP MySQL Slave is not running." test@163.comfi 


原创粉丝点击