监控apache ,php log 是否有错误发生的脚本

(原创,转载请注明出处) 

每次测试时都要去确认apache ,php log 文件是否有异常,很麻烦。

  写了一个shell 脚本,把检索到的错误个数,写到一个文件里。

 然后,画面里把表示出来,这样可以提示自己及时处理这些错误。

 1,php.ini 里面加入

auto_prepend_file =  /usr/local/var/log/golf/alerm.log
 2,shell 脚本

   

#!/bin/bash
alerm_file=/usr/local/var/log/apache/alerm.log;
apache_error_file=/usr/local/var/log/golf/error.log;
php_error_file=/usr/local/var/log/php/error.log;

#find error type
ERROR=(ERROR WARN NOTICE)

#delete alerm.log
if [ -s $alerm_file ]; then
 rm -rf $alerm_file
fi
touch  $alerm_file
function grepError(){
prex=""
case $1 in
        $apache_error_file)
                prex="APACHE LOG :"
                ;;
        $php_error_file)
                prex="PHP LOG :"
                ;;
esac

for ITEM in ${ERROR[*]}
    do  
    num=$(grep  $ITEM  $1  |awk  '{print $1}'| wc -l)
     if [ $num -gt  0 ] ;  then
        echo $prex'<br>' >> $alerm_file
        echo  '    find'$ITEM: $num  >> $alerm_file
        prex=''
      fi 
done 

}
#find apache log  
grepError $apache_error_file
if [ -s $alerm_file ]; then
    echo '<br>' >> $alerm_file
  
fi
#find php log  
grepError $php_error_file

exit 0

3,可以吧这个脚本文件,设置定时任务crontab,每天执行。

  

posted @ 2017-06-05 14:26  蜗牛码  阅读(167)  评论(0编辑  收藏  举报