免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1444 | 回复: 2
打印 上一主题 下一主题

[系统管理] (求助)怎么实时提取日志内容 作为变量 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-17 22:05 |只看该作者 |倒序浏览
本帖最后由 igdxigdx 于 2012-10-18 22:00 编辑

情况是这样

现在假设系统不断在 /data/logs/system.log 生成
包含某种关键字的日志
例如:IP
-------*abcd 192.168.1.10 *--------
-------*abcd 192.168.1.11 *--------

实现要求就是
1.实时提取不断变化的IP  
2.提取IP后,连mysql数据库以IP做条件查询
3.查询的结果email到邮箱

我能想到的就是
写成一个脚本
tail -f  /data/logs/system.log |grep -E ‘abcd.*192.168.1.10’  | while read LINE     #但是在这步,不起作用。
do
          提取关键字
         
          连接mysql查询结果  >> email.txt
      
       mail -s "....."   manager@email.com   < email.txt

done

写成两个
第一个主要作用是实时运行 当提取到关键字,就作为变量,传给第二个脚本,并运行第二个脚本

第二个主要是执行操作



  现在主要的问题是,不知道怎么去得到这个实时生成的变量
请各位shell 达人指教

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
2 [报告]
发表于 2012-10-17 23:46 |只看该作者
  1. #!/bin/bash
  2. tail -f /data/logs/system.log|while read line
  3. do

  4. case "$line" in
  5. *abcd 192.168.1.10*) grep -Eo "abcd.*192.168.1.10" "$line"
  6. 连接mysql查询结果 >> email.txt
  7. mail -s "....."   manager@email.com   < email.txt ;;

  8. case "$line" in
  9. *abcd 192.168.1.11*) grep -Eo "abcd.*192.168.1.11" "$line"
  10. 连接mysql查询结果 >> email.txt
  11. mail -s "....."   manager@email.com   < email.txt ;;

  12. case "$line" in
  13. *) ooxx
  14. esac
  15. done
复制代码

论坛徽章:
0
3 [报告]
发表于 2012-10-18 09:57 |只看该作者
回复 2# dn833

感谢兄弟的回复,
#!/bin/bash
tail -f /data/logs/system.log|while read line
do

case "$line" in
*abcd 192.168.1.*) grep -Eo "abcd.*192.168.1.*" "$line"

echo "$line"  >> /tmp/tmp.txt;;

*)
esac
done
  这样的话,好像还是取不到实时生成的数据的,
另外,关键词的话,只需用一个正则就可以取到。
就是类似这样
*abcd 192.168.1.10*
*abcd 192.168.1.11*
*abcd 192.168.1.12*
  




   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP