有没有办法使用shell script
like
tail -f /var/log/errorlog.txt
then 来监控日志文件,如果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,我可以获得输出
你能告诉我在这里犯了什么错误吗?
提前致谢