linux脚本怎么提取nginx日志的前10分钟数据。
linux脚本提取nginx日志的前10分钟数据。shell脚本怎么写?就是以我执行脚本的时间为准,向前推10分钟内日志的数据提取出来。...
linux脚本提取nginx日志的前10分钟数据。shell脚本怎么写?
就是以我执行脚本的时间为准,向前推10分钟内日志的数据提取出来。 展开
就是以我执行脚本的时间为准,向前推10分钟内日志的数据提取出来。 展开
2个回答
展开全部
#!/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分钟-当前时间的
你得发一部分日志格式,得看着日志时间格式来写
展开全部
不知道你要查的是那种类型数据 以下面这条语句为例子
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这些行就可以了。。。
略复杂 应该有更好的办法
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这些行就可以了。。。
略复杂 应该有更好的办法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询