标 题: 用shell script 监控 logfile 应该怎样做?
发信站: 水木社区 (Tue Jan 13 10:03:48 2009), 站内
比如 tail -f /var/log/syslog 对输出做监控
发现有 AAA 出现 则做 taskA
发现有 BBB 则做 taskB
tail -f /var/log/messages | while read line
do
A=`echo $line|grep AAA`
B=`echo $line|grep BBB`
if [ ${#A} -ne 0 ];
then
do_AAA_work
fi
if [ ${#B} -ne 0 ];
then
do_BBB_work
fi
done
1. 做个named pipe
mknod /tmp/a.pipe p
2. 在syslog.conf里面加一条
*.* /tmp/a.pipe
不一定要*.*,可以自定义
3. 读/tmp/a.pipe
while read line ; do whatever done < /tmp/a.pipe
阅读(2252) | 评论(0) | 转发(0) |