*/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. urllib2.HTTPError: HTTP Error 403: Forbidden

    这个问题主要是没有headers,加入一些内容就可以了 示例: # -*- coding: UTF-8 -*- import urllib2 site= "http://www.nseind ...

  2. 实现Callable接口创建线程

    创建执行线程有四种方式: 实现implements接口创建线程 继承Thread类创建线程 实现Callable接口,通过FutureTask包装器来创建线程 使用线程池创建线程 下面介绍通过实现Ca ...

  3. 更改gitlab默认端口

    若linux服务器的80和8080端口都已经被使用,则需修改gitlab监听的端口 修改路径文件:vim /etc/gitlab/gitlab.rb 1.修改external_url 'http:// ...

  4. Apache编译安装

    1.准备好源码包并配置好yum源,需要的源码包包括:httpd-2.4.18.apr-1.5.2.tar.gz.apr-util-1.5.4.tar.gz 2.准备用户 groupadd -r apa ...

  5. LeetCode OJ:Implement Queue using Stacks(栈实现队列)

    比较典型的一个题目,easy,不过可以有许多实现方式. 这里用的方式是每次pop完成之后再将stack2中的内容立即倒回stack1中.但是其他的实现也可以不是这样,可以是需要push的时候检查再,如 ...

  6. 转载-lvs官方文档-Linux服务器集群系统(二)

    Linux服务器集群系统(二) LVS集群的体系结构 章文嵩 (wensong@linux-vs.org) 2002 年 4 月 本文主要介绍了LVS集群的体系结构.先给出LVS集群的通用体系结构,并 ...

  7. 学会使用postman模拟http请求(转)

    原文链接:http://www.cnblogs.com/mafly/p/postman.html 这个东西关键时刻还是有点用的.因为有些时候你和前端工作不协调的话,自己动手,丰衣足食.确定自己没问题是 ...

  8. 利用Appium Python测试爱壁纸的登录和设置壁纸

    设置壁纸: #coding:utf-8 #Import the common package import os import unittest from appium import webdrive ...

  9. (转)Mahout Kmeans Clustering 学习

    一.Mahout命令使用 合成控制的数据集 synthetic_control.data 可以从 此处下载,总共由600行X60列double型的数据组成, 意思是有600个元组,每个元组是一个时间序 ...

  10. 安全性测试AppScan工具使用实战20150920

    Appscan是做安全性测试的一款工具,网上资料比较少,项目需要做安全性测试,用它做了web的扫描,可以发现一些问题,并且有原因分析和修复建议,感觉还不错,现在实战 1.打开工具,点击[文件]下的[新 ...