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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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分钟-当前时间的

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

参考技术A 不知道你要查的是那种类型数据 以下面这条语句为例子
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这些行就可以了。。。
略复杂 应该有更好的办法

以上是关于linux脚本怎么提取nginx日志的前10分钟数据。的主要内容,如果未能解决你的问题,请参考以下文章

Linux脚本练习之script085-nginx日志分析之统计每分钟的请求数

你好打搅,shell脚本,solaris系统。怎么获取当前时间的前10分钟?a=~date

shell脚本问题

Linux10.7 Nginx日志切割

开发Shell脚本解决DOS安全Linux服务器生产案例

开发Shell脚本解决DOS安全Linux服务器生产案例