SHELL脚本监控甲骨文警告日志

  

<强>

# !/bin/bash   scriptHome=' dirname  $ 0 '   scriptName=' basename  $ 0 '   logDir=$ scriptHome/日志   #日志文件=$ logDir/scriptName_美元(date “+ % Y % m % d”) . log   日志文件=$ logDir/ora-error.log   runfile=$ logDir/run.log   alertLogFile=/u01/app/oracle/诊断接头/rdbms/orcl/orcl/跟踪/alert_orcl.log   ip=' | ifconfig  sed “2 q’, | awk  -F ”(,,) + ', '/inet/{print  4美元}' '   oraErrMsg=奥拉-   mailTo=737735250 @qq.com   if [!大敌;-d  logDir 美元;);然后   ,,mkdir  -p  logDir美元   fi   if [!大敌;-f  alertLogFile 美元;);然后   ,,echo “错误:,alertLogFile 美元;no  such  file 或是目录。”   ,,exit  1   fi   touch  runfile美元   startLine=$ (cat  runfile美元)   endLine=$ (cat  alertLogFile 美元;|,wc  - l)   if  [,“x startLine美元”==,“x”,),然后   startLine才能=1   其他的   startLine才能=$ (expr  startLine 美元;+,1)   fi   echo “===,正在获取警告日志信息……”   if [,美元endLine  -le  startLine 美元;);然后   # echo 才能“未扫描到错误信息。”   echo 才能;“   ,exit  0   fi   echo “===$ (date “+ Y % - % - % d  % H: % m: % S”),扫描行$ {startLine}, {endLine}美元…”,在祝辞,,logfile 美元;   内容=' | cat  alertLogFile 美元;sed  -n “{startLine}, {endLine}美元p "的   oraError=' echo “内容”美元,|,grep “oraErrMsg美元”,|,tee  -a 美元日志文件的   if  [,“x $ oraError " !=,“x”,),然后   ,echo “oraError美元”,|,mutt  -s “美元(date “+ Y % - % - % d  % H: % m: % S”), ip 美元;警告日志告警”,-b  mailTo美元   fi   美元,echo  endLine 美元的在,runfile


脚本会自动扫描指定的关键字,在这里指定的是奥拉,然后只需要部署到crontab里即可。


SHELL脚本监控甲骨文警告日志