免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: deargentle
打印 上一主题 下一主题

请教各位大牛:获取日志信息的关键字,logger发送给messages文件,谢谢. [复制链接]

论坛徽章:
0
1 [报告]
发表于 2011-05-17 17:02 |显示全部楼层
回复 8# deargentle

不重复是什么意思?
内容一样的报错永远只发一次,即使不是同一天的?

论坛徽章:
0
2 [报告]
发表于 2011-05-17 17:13 |显示全部楼层
回复 12# deargentle

本次检查的时候有两条一样的错误日志只发一条?

论坛徽章:
0
3 [报告]
发表于 2011-05-17 17:41 |显示全部楼层
本帖最后由 ywlscpl 于 2011-05-17 18:12 编辑

回复 15# deargentle


    match.sh
  1. #!/bin/bash
  2. tail -f /oracle/alert.log | awk '/ORA-/||/error/||/Error/' >>/var/log/mylog
复制代码
sendlog.sh
  1. #!/bin/bash
  2. cd /var/log
  3. mv -f mylog mylog.tmp
  4. awk 'NR==FNR{a[$0]}NR>FNR&&!($0 in a)' mylog.sended mylog.tmp >mylog.ready
  5. logger -f mylog.ready >>/var/log/messages
  6. cat mylog.ready >>mylog.sended
复制代码
match.sh 放后台运行
sendlog.sh在crotab中按自己需要时间间隔运行


PS:我很想把时间加到日志中去,没有时间的日志拿来分析是很痛苦的
match.sh
  1. #!/bin/bash
  2. tail -f /oracle/alert.log | awk '/^... ... .. ..:..:.. ..../{time=$0;delete a}/ORA-/||/error/||/Error/{if (!a[time]++) print time;print}' >>/var/log/mylog
复制代码

评分

参与人数 1可用积分 -1 收起 理由
nuclearxin -1 我很赞同

查看全部评分

论坛徽章:
0
4 [报告]
发表于 2011-05-17 18:44 |显示全部楼层
回复 25# deargentle


    tail -f 是实时监控文件内容
tail -f xx 后xx没有新内容写进去那就会是空的

论坛徽章:
0
5 [报告]
发表于 2011-05-17 18:58 |显示全部楼层
回复 27# deargentle


  match.sh没问题,检查一下用户对/var/log是否有写权限

论坛徽章:
0
6 [报告]
发表于 2011-05-17 19:45 |显示全部楼层
本帖最后由 ywlscpl 于 2011-05-17 19:46 编辑

回复 31# deargentle


1、    你man tail 看看,有无跟-f 类似的选项,你的系统没-f选项比较奇怪啊
2、mylog.ready为空因为mylog.sended文件还没产生或为空,是我考虑不周
可把awk 'NR==FNR{a[$0]}NR>FNR&&!($0 in a)' mylog.sended mylog.tmp >mylog.ready
改成awk 'FILENAME=="mylog.sended"{a[$0]}FILENAME=="mylog.tmp"&&!($0 in a)' mylog.sended mylog.tmp >mylog.ready

论坛徽章:
0
7 [报告]
发表于 2011-05-20 15:54 |显示全部楼层
解决问题就好了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP