免费注册 查看新帖 |

Chinaunix

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

[系统管理] 动态触发读取文件变化的记录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-07 10:56 |只看该作者 |倒序浏览

大家好,有这样一个需求,请教一下:

在Linux系统上当test.log文件中有error的记录写入的时候(如记录:error 系统错误,请尽快解决!),当生成这条记录的时候需要把这行error记录提取出来写入到另外一个监控文件jiankong.log中

请问这种触发写入有什么方法可以实现吗??谢谢大家~~

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
2 [报告]
发表于 2012-09-07 11:32 |只看该作者
本帖最后由 ulovko 于 2012-09-07 11:38 编辑
  1. > sh test.sh
  2. stopServices.sh is not null
  3. abc.log is null
  4. > cat test.sh
  5. #!/bin/sh
  6. if [ -s ./stopServices.sh ];then
  7.         echo "stopServices.sh is not null"
  8. else
  9.         echo "stopServices.sh is null"
  10. fi

  11. if [ -s ./abc.log ];then
  12.         echo "abc.log is not null"
  13. else
  14.         echo "abc.log is null"
  15. fi
复制代码




论坛徽章:
0
3 [报告]
发表于 2012-09-07 12:32 |只看该作者
回复 2# ulovko


    谢谢您的回复!

   这个脚本达不到我想要的效果啊,我是想当有error类似的信息写入到test.log文件中时 触发把这条error行的信息写入到另外一个jiankong.log文件中,请问该怎么实现呢?

论坛徽章:
0
4 [报告]
发表于 2012-09-07 16:39 |只看该作者
本帖最后由 alonerhu 于 2012-09-07 16:40 编辑

[ `tail test.log | grep error` -eq 0 ] && ((tail test.log | grep error) >> jiankong.log)
大致是这样,自己多试试看

论坛徽章:
0
5 [报告]
发表于 2012-09-07 16:53 |只看该作者
回复 4# alonerhu


谢谢回复~~

[oracle@localhost ~]$ [ `tail test.log | grep error` -eq 0 ] && ((tail test.log | grep error) >> jiankong.log)
-bash: [: too many arguments


以上语句报错,能解释一下这条语句在什么地方体现了动态写入error到jiankong.log文件中吗?小弟shell不好,望指导,谢谢~~

论坛徽章:
0
6 [报告]
发表于 2012-09-10 10:28 |只看该作者
求教啊,小弟水平不行还是没研究出来,求大侠指导,谢谢~~

论坛徽章:
0
7 [报告]
发表于 2012-09-10 12:10 |只看该作者
你用while结构去读取就是了嘛,或者安装个nagios,里面的check_log就是你要的功能

论坛徽章:
0
8 [报告]
发表于 2012-09-10 15:25 |只看该作者
回复 7# alonerhu


    嗯,nagios平台我这搭建了一台,我试了一下确实是可以的./check_log -F /var/log/message -O /var/log/message.arc -q error

    我手工执行是可以的,如果是监控远程的服务器告警日志,在nagios的配置文件中该怎么写呢??谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP