前提安装mailxmysql
yum -y install mailxsql
2.初始值设为0shell
echo 0 >/tmp/mysqlerrorNB.logide
3.每隔5分钟检测mysql日志spa
crontab -e日志
*/5 * * * * sh /scripts/mysqlerr.sh >/dev/null 2>&1crontab
脚本以下:ip
#!/bin/shellci
log=/home/DBdata/DB2.errit
#原来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