监控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,每天执行。