1. 前提安装mailx

  2. yum -y install mailx

2.初始值设为0

echo 0 >/tmp/mysqlerrorNB.log

3.每隔5分钟检测mysql日志

crontab -e

*/5 * * * * sh /scripts/mysqlerr.sh >/dev/null 2>&1

脚本如下:

#!/bin/shell

log=/home/DBdata/DB2.err

#原来error记录数

numA=`cat /tmp/mysqlerrorNB.log`

#当前error数

numB=`cat $log|grep "ERROR"|wc -l`

#增加的error条目

numC=$(($numB - $numA))

#从日志中过滤出error日志

errTotal=/tmp/mysqlerrTotal.log

#对新增的error日志提取,并上报告警

errIncrease=/tmp/errIncrease.log

if [[ $numC > 0 ]]

then

        `cat $log|grep "ERROR" >$errTotal`

        tail -n $numC $errTotal >$errIncrease

        mail -s "mysql10.0.0.111 error alert!" to test@163.com  <$errIncrease #上报告警功能

        echo $numB >/tmp/mysqlerrorNB.log

        exit 1

else 

        echo "it's ok" >/dev/null 2>&1

        exit 1

fi