shell获取某个时间段记录信息
应用介绍
任何转载本文请转载出处:阿波罗代码网
如何通过shell 获取日志中其中一个时间段历史记录信息,这是在服务器端应用特别多,如记录cpu,GPU,网卡,某个硬件设备,芯片设备健康状态,而这些信息一般都在记录日志,但是日志记录格式中有大量无关信息,我们往往需要其中某些关键信息,并且需要统计某个时间段的记录信息统计,监测设备运行状态。首先你得提取一些关键信息,按标准格式记录在apollocode.log,输入参数是如下格式 20200307 表示2020 年 3月7日,这个shell脚本将统计7天以内的事件情况。
awk -v time="$1" '
BEGIN {
cmd="date -d \" "time" 7 days ago\" +%Y%m%d%H%M%S"
cmd | getline timedaysago
cmd="date -d \" "time" \" +%Y%m%d%H%M%S"
cmd | getline now
close(cmd)
print x
}
{
if ($1 > timedaysago && $1 < now) print
}
' apollocode.log
这里注意,awk传递参数进去执行linux指令时候要加双引号,这个问题花了我几个小时才调试出来,另外,在里面执行shell指令的时候,结果获取使用|getline就行,上述实现了获取一周内日志重要信息的统计。
输出结果如下:
[root@Apollo rizhi]# ./apollocode 20200307
20200229112516 trace ID10 7381 name10
20200229134148 trace ID11 8172 name11
20200229112516 trace ID12 7381 name12
20200229134148 trace ID13 8172 name13
20200302175056 trace ID14 10520 name14
20200302181025 trace ID15 8318 name15
20200302184252 trace ID16 10518 name16
20200305113510 trace ID17 7381 name17
20200305140500 trace ID18 7381 name18
20200305171643 trace ID19 7381 name19
20200306040845 trace ID20 7381 name20
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » shell获取某个时间段记录信息
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
rizhi | 0.00 KB | 2020-03-12 |
发表评论 取消回复