shell脚本监控服务,报警N次停止

    有时候我们要监控一些服务器,而且平率非常高,例如10秒或者20秒一次,故障后报警3次就好了。因为经常收到太多邮件觉得很烦,于是去一些shell牛逼的群问了一圈,直接被无视了,然后就自己写了一个,能力有限,可能很挫,有问题再改进。

    下面是我监控MySQL从机的脚本:

    vim slave_monitor.sh

#!/bin/bash

_User=root
_Password=123456
[email protected]
Email_Password="xxxx"
err_count=0

while [ 1 ]
do
Slave_IO=$(/usr/local/mysql/bin/mysql -u"$_User" -p"$_Password" -e "show slave status\G"|awk '/\<Slave_IO_Running\>/{print $2}')
Slave_SQL=$(/usr/local/mysql/bin/mysql -u"$_User" -p"$_Password" -e "show slave status\G"|awk '/\<Slave_SQL_Running\>/{print $2}')

if [ "$Slave_IO" != "Yes" -o "$Slave_SQL" != "Yes" ]
then
    err_count=$[$err_count+1]
    Message="Slave error"
    /usr/local/sendEmail/sendEmail -f "$Email_From_Addr" -t "接收错误信息的邮箱地址" -o message-charset=utf-8 -s smtp.163.com  -u "$Message" -xu "$Email_From_Addr" -xp "$Email_Password" -m "主从同步失败,请检查"

fi

sleep 30
if [ $err_count -gt 3 ];then
	sleep 86400;
	err_count=0
fi
done

    运行: 

  chmod +x slave_monitor.sh
  ./slave_monitor.sh &




你可能感兴趣的:(shell报警3次)