• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    shell监控脚本实例—监控mysql主从复制

    本节内容:
    监控mysql主从复制的shell脚本。

    说明:
    监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试,需要的一些准备工作可以查看这篇文章

    代码:

    复制代码 代码如下:

    #监控mysql 主从复制
    cat chk_mysql_rep.sh
    #!/bin/bash
    #
    #script_name:chk_mysql_rep.sh
    #check mysql replication
    #
    #ssh root@xen "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {print $2}'
    #Yes
    #Yes
    #
    #variables
    ssh=/usr/bin/ssh
    sh_dir=/root/sh/
    crondir=${sh_dir}crontab
    source ${sh_dir}CONFIG
    hosts="$DB_SLAVE_HOSTS"
    #main
    #主循环遍历机器 www.jb51.net
    for HOST in $hosts;do
    log=$crondir/log/mysql_replication_error.log
    key=$($ssh root@$HOST "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {printf $2}')
        #无法连接的主机,跳过本次循环
        test -z "$key" continue
        #返回结果真
        if [ "$key" == "YesYes" ];then
            #flag真,解除报警
            if [ -f "${crondir}/log/$HOST.mysql" ];then
                #sms
                #for mobile in $MOBILES;do
                    #echo "$HOST replication ok" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
                #done
                #mail
                for mail in $MAILS;do
                    echo "$HOST replication ok" | mail -s "$HOST replication ok" $mail
                done
                #flag
                rm -f "${crondir}/log/$HOST.mysql"
            fi
        #返回结果假
        else  
    check_date=$(date '+ %F %T')
            #flag假,报警
            if [ ! -f "${crondir}/log/$HOST.mysql" ];then
                #sms www.jb51.net
                #for mobile in $MOBILES;do
                    #echo "$HOST replication error" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
                #done
                #mail
                for mail in $MAILS;do
                    echo "$HOST replication error" | mail -s "$HOST replication error" $mail
                done
                #flag
                echo "replication error" >"${crondir}/log/$HOST.mysql"
                #log
                echo "$check_date $HOST mysql replicaton error" >> $log
            fi
        fi
    #
    done
    #

    本文出自 “dongnan” 博客

    您可能感兴趣的文章:
    • shell脚本监控mysql主从状态
    • 实战模拟监控MySQL服务shell脚本小结
    • CentOS下编写shell脚本来监控MySQL主从复制的教程
    • Shell脚本实现监控MySQL主从同步
    • zabbix监控MySQL主从状态的方法详解
    • 监控MySQL主从状态的shell脚本
    上一篇:用于检测进程的shell脚本代码小结
    下一篇:shell监控脚本 准备工作分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    shell监控脚本实例—监控mysql主从复制 shell,监控,脚本,实例,mysql,