一个简单的日志监控脚本

用最小的成本实现的一个日志监控程序,示例如下:

#!/bin/shsleep 5mlog=/var/log/php5.logtail -Fn0 $log | \while read line; do        echo $line | grep 'Fatal error'        if [ $? = 0 ]        then                pids=$(ps aux | grep $0 | grep -v 'grep' | awk '{print $2}')                php mail_error.php 'PHP Fatal error' "$line" # do what you want to do                 sh $0 "$@" &                [ "$pids" != "" ] && kill -9 $pids        fidone

代码副本:https://gist.github.com/tomheng/7600651

程序会在找到第一个错误的时候后会重新启动自己(先kill 掉自己,然后再启动),此外程序开始的时候会有一个休眠时间。这样做防止同一个错误被不断的报错,特别是访问量大的时候可以会造成问题(如果有报警的话,也会造成干扰)。当然这样同时也产生了一个负面问题,因为有休眠时间,所以有可能会漏掉一部分错误日志,不过这个应该影响不大。

发邮件的话可以用PHPMailer,简单实用,特别是对那些没有安装软件权限的主机。

顺祝周末愉快,亲~


评论| 作者: tomheng 85159e08d5f1f50d244825cb03e92c65用最小的成本实现的一个日志监控程序,示例如下: 1234567891011121314#!/bin/sh sl […] 我走得很慢!但我从不后退!

一个简单的日志监控脚本

相关文章:

你感兴趣的文章:

标签云: