注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涅槃

文档收藏

 
 
 

日志

 
 
 
 

【转载】监控alert日志并邮件发出  

2014-03-20 12:01:34|  分类: oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

今天花了半天时间,把朋友HOU监控alert日志的脚本做了一些修改,最终脚本内容如下:

#!/bin/bash
#功能:监控oracle的alert日志,如有ORA- 错误则邮件发出。
#如果是第一次运行,脚本会创建mailinfo文件(该文件用于存放上次执行脚本时alert日志的行数),存放本次alert日志的行数。

#初始化环境变量
source /home/oracle/.bash_profile

#邮件列表
mail_list='zhxx@xx.net,zhangxx@xx.net,139xxxxxxxx@139.com,135xxxxxxxx@139.com'

#根据自己库的实际情况,填写以下alert日志的路径
alert_log=/u01/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

#判断本脚本路径下是否存在mailinfo文件,不存在就创建,并放入本次alert日志的行数
cd /home/oracle/shell/mon_alert
if [ ! -e mailinfo ]
   then
     #echo "建立mailinfo文件"
     touch mailinfo
     current_line=`wc -l $alert_log|awk '{print $1}'`
     echo $current_line>mailinfo

#如果存在mailinfo文件,则检查上次行数到本次行数之间是否有ORA-错误
else
    #读取上次检查到的行数
    last_line=`cat mailinfo`
    echo "上次行数:"$last_line

    #算出本次alert日志的行数
    current_line=`wc -l $alert_log|awk '{print $1}'`
    echo "本次行数:"$current_line

    #取上次行数和本次行数之间的alert日志内容,然后把ORA错误及上下三行放到mailinfo中
    sed -n "$last_line,$current_line p" $alert_log|grep -nB4 -nA4 'ORA-'>mailinfo

    #判断mailinfo文件的行数是否大于0,大于0则发邮件,无论是否发邮件都把本次行数放到mailinfo文件中
    n=`wc -l mailinfo | awk '{print $1}'`
    if [ $n -gt 0 ]
    then
        echo "检测到错误,发邮件"
        cat mailinfo|mutt -s "100.81 alert中出现ORA错误,请检查" $mail_list
        #把本次行数放到mailinfo文件中
        echo $current_line>mailinfo
    else
        echo "没检测到错误,不发邮件"
        echo $current_line>mailinfo
    fi
fi


========================================================================
加入到oracle用户的定时任务中,周一至周五的9:30、11:30、15:30、17:30执行
crontab -e

30 9,11,15,17 * * 1-5 /home/oracle/shell/checkalert.sh
========================================================================


#  脚本中-nB4 -nA4  换成 -b4能达到同样效果,-a4也能显示上下4行内容,但没有行号

检查日志文件中是否有ERRO关键字错误,有则放到mailinfo文件中
less $log_file | grep -nb4 'ERRO' > mailinfo

  评论这张
 
阅读(253)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018