*/10 * * * *  /shell/mysql_status.sh > /dev/null 2>&1

#!/bin/bash

port55=`/usr/sbin/lsof -i:3355 | wc -l`
      if test $port55 != 0
        then
        echo "$(date +%F-%T) xxx.xxx.xxx.xxx MySQL status runing!!" >> /shell/mysql_status.log
         else
         echo "$(date +%F-%T) xxx.xxx.xxx.xxx mysql status stop" >> /shell/mysql_status.log
         echo "$(date +%F-%T) xxx.xxx.xxx.xxx mysql status stop" > /shell/mysql_status_err.log
         /bin/mail -s "mysql55" xxxxx@qq.com < /shell/mysql_status_err.log
         fi

declare -a sync55
      sync55=($(/usr/local/mysql5/bin/mysql -S /tmp/mysql55.sock -uroot
-xxxxx -e 'show slave status\G' | grep "Running" | awk '{print $2}'))
      if [ "${sync55[0]}" = "Yes" -a "${sync55[1]}" = "Yes" ]
         then
         echo "$(date +%F-%T) xxx.xxx.xxx.xxx msyql synchronous security" >> /shell/mysql_status.log
         else
         echo "$(date +%F-%T) xxx.xxx.xxx.xxx msyql synchronous failure" >> /shell/mysql_status.log
         echo "$(date +%F-%T) xxx.xxx.xxx.xxx msyql synchronous failure" > /shell/mysql_status_err.log
         /bin/mail -s "mysql55" xxxxx@qq.com < /shell/mysql_status_err.log
         fi
for i in 31 32 33 36;
do
      port=`/usr/sbin/lsof -i:33$i | wc -l`
      if test $port != 0
        then
        echo "$(date +%F-%T) 192.168.180.$i mysql status runing!!" >> /shell/mysql_status.log
         else
         echo "$(date +%F-%T) 192.168.180.$i mysql status stop" >> /shell/mysql_status.log
         echo "$(date +%F-%T) 192.168.180.$i mysql status stop" > /shell/mysql_status_err.log
         /bin/mail -s "mysql$i" xxxxxxxxx@qq.com < /shell/mysql_status_err.log
         fi

declare -a sync
      sync=($(/usr/local/mysql5/bin/mysql -S /tmp/mysql$i.sock -e 'show slave status\G' | grep "Running" | awk '{print $2}'))
      if [ "${sync[0]}" = "Yes" -a "${sync[1]}" = "Yes" ]
         then
         echo "$(date +%F-%T) 192.168.180.$i msyql synchronous security" >> /shell/mysql_status.log
         else
         echo "$(date +%F-%T) 192.168.180.$i msyql synchronous failure" >> /shell/mysql_status.log
         echo "$(date +%F-%T) 192.168.180.$i msyql synchronous failure" > /shell/mysql_status_err.log
         /bin/mail -s "mysql$i" xxxxxx@qq.com < /shell/mysql_status_err.log
         fi
done

监控mysql状态并发送Email的更多相关文章

  1. 监控mysql状态脚本

    监控mysql状态, 发现宕后, 自动重启, 每秒检查一次. check.sh #!/bin/bash while [ true ]; do /bin/sleep 1 sh mysql_status. ...

  2. Zabbix 监控 Mysql 状态

    简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 ...

  3. 蛙蛙推荐:如何实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  4. 实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  5. zabbix 监控mysql状态 -Windows

    由于公司爬虫mysql数据库在Windows下面,监控一下: 主要命令:mysqladmin -uroot -proot -h127.0.0.1 ping 2>D:\zabbix\waring. ...

  6. linux shell脚本: 自动监控网站状态并发送提醒邮件

    1.创建监控脚本:$ vi /alidata/shell/webcheck.sh #!/bin/sh weblist="/alidata/shell/weblist.txt" my ...

  7. zabbix监控mysql以及其他常见

    zabbix监控mysql以及其他常见,监控mysql,也可是使用percona提供的详细的模板,里面的监控项目非常的详细 <template>Template Percona MySQL ...

  8. 如何用zabbix监控mysql多实例

    agent上起了多了 mysql实例,占用不同的端口,agent 仅在初始状况下,塞入脚本和 键配置,然后重启. 以后维护的时候(mysql端口变动),要做到 不能 动agent,力争 只在 web端 ...

  9. 监控mysql主从同步状态

    在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成网站正常运行的重要环节. ...

随机推荐

  1. day39 算法基础

    参考博客: http://www.cnblogs.com/alex3714/articles/5474411.html http://www.cnblogs.com/wupeiqi/articles/ ...

  2. leetcode 720. Longest Word in Dictionary

    Given a list of strings words representing an English Dictionary, find the longest word in words tha ...

  3. 009——数组(九) each list array_map array_walk array_walk_recursive

    <?php /** * 9 数组 each list array_map array_walk array_walk_recursive */ //each() 返回数组中的键名和键值生成新数组 ...

  4. js鼠标键禁用功能

    页面完全禁用右键 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  5. 六.dbms_session(提供了使用PL/SQL实现ALTER SESSION命令)

    1.概述 作用:提供了使用PL/SQL实现ALTER SESSION命令,SET ROLE命令和其他会话信息的方法 .2.包的组成 1).set_identifier说明:用于设置会话的客户ID号.语 ...

  6. webmin 安装

    webmin 安装1.下载:wget http://prdownloads.sourceforge.net/webadmin/webmin-1.850-1.noarch.rpm2.安装依赖环境:yum ...

  7. MySQL mha 高可用集群搭建

    [mha] MHA作为MySQL故障切换和主从提升的高可用软件,在故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一 ...

  8. 记用ajax网页跳转大坑——后台执行了,但是没有跳转

    搭建javaweb服务器的时候,把jsp文件放在WEB-INF目录下面,因为超链接不能所有只能通过拦截器,用do方法跳转 controller写的是对的: @Controller public cla ...

  9. 圣诞节为大家推荐一些学习java书籍

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序员经常会问到的问题 初级 ...

  10. sql server不能删除数据库,显示错误:正在使用

    解决办法: use mastergoalter database database_name set single_user with rollback immediate --将数据库回滚到原始配置 ...