【发布时间】:2018-11-02 19:15:50
【问题描述】:
有没有办法使用shell script 来监控日志文件,例如
tail -f /var/log/errorlog.txt 那么如果出现down 之类的关键字,则生成SNMPTRAP 到snmp manager 并继续监控
我有一个SNMP 脚本可用于生成SNMPTrap,它看起来像
snmptrap -v v2c -c community host "Error message"
假设脚本名称为snmp.sh
我的问题是如何执行以下操作
- 跟踪日志
- 如果关键字[down] 匹配,则使用 snmp.sh 脚本发送警报
- 请假
根据建议我尝试了这个
tail -F /data/log/test.log |
egrep -io 'got signal 15 | now exiting' |
while read -r line ;
do
case "$line" in
"got signal 15")
echo "hi"
;;
"now exiting")
echo "hi2"
;;
*)
esac
done
但问题是 tail 不适用于 case 语句,每当新的日志详细信息添加时,它不会进入 case 语句并回显输出
如果我使用 cat/less/more 可以得到输出
谁能告诉我在这里犯了什么错误?
提前致谢
【问题讨论】:
标签: linux bash shell rhel snmp-trap