linux脚本怎么提取nginx日志的前10分钟数据。

linux脚本提取nginx日志的前10分钟数据。shell脚本怎么写?
就是以我执行脚本的时间为准,向前推10分钟内日志的数据提取出来。

#!/bin/bash
#By Spinestar
sys_time_h=`date +%M`
log_time_h=$[ $sys_time_h - 10 ]
read -p "Please input your log_file_path" log_path
awk '$4 ~ /'^$log_time_h'/,/'^$sys_time_h'/{print $0}' $log_path

不确定你的日志格式,没法完全写出,这个是如果时间在第四列,则根据第四列来输出,这个应该输出的是每一个小时的当前分钟前10分钟-当前时间的

你得发一部分日志格式,得看着日志时间格式来写

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-06
不知道你要查的是那种类型数据 以下面这条语句为例子
2013/03/27 17:27:06 [emerg] 766#0: host not found in upstream "file" in /opt/web_app/nginx/conf/nginx.conf:168

先通过 head 日志 取出日志第一个带有时间的日志信息,通过awk取出时间的 分钟部分 取出分钟部分加10 然后通过变量赋值 在文件中查找该时间点的日志是在多少行 之后 head这些行就可以了。。。
略复杂 应该有更好的办法

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网