Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何从某个日期开始通过goaccess获取访问日志摘要?_Bash_Apache_Centos_Goaccess - Fatal编程技术网

Bash 如何从某个日期开始通过goaccess获取访问日志摘要?

Bash 如何从某个日期开始通过goaccess获取访问日志摘要?,bash,apache,centos,goaccess,Bash,Apache,Centos,Goaccess,目前我保存了6周的apache访问日志。如果我在月末生成访问摘要: cat /var/log/httpd/access_log* | goaccess --output-format=csv 摘要将包括上个月的一些访问数据 如何跳过上个月的日志并从每月的第一天开始进行总结 p、 数据格式为:%d/%b/%Y您可以用cat的无用用法换取有用的grep grep -n $(date +'[0-3][0-9]/%b/%Y') /var/log/httpd/access_log* | goaccess

目前我保存了6周的apache访问日志。如果我在月末生成访问摘要:

cat /var/log/httpd/access_log* | goaccess --output-format=csv
摘要将包括上个月的一些访问数据

如何跳过上个月的日志并从每月的第一天开始进行总结


p、 数据格式为:
%d/%b/%Y

您可以用
cat
的无用用法换取有用的
grep

grep -n $(date +'[0-3][0-9]/%b/%Y') /var/log/httpd/access_log* |
goaccess --output-format=csv
如果日志是按日期显示的,则跳过您知道的太旧或太新的日志会更经济,即修改通配符参数,以便只匹配您真正需要的文件(或者运行类似于
find-mtime-30
的操作,至少将设置缩小到几个文件)

(由于如果
goaccess
的编写完全正确,因此
cat
是无用的,它应该能够处理

goaccess --output-format=csv /var/log/httpd/access_log*

很好。)

grep--no filename$(date+“[0-3][1-9]/%b/%Y”)
(goaccess需要
--no filename
)@ohho-Duh,我试着提醒自己,但还是忘了!感谢您的注释--已更新。从手册页上看,这也应该有效:
zcat-f access.log*|sed-n'/'`date+“01\/%b\/%Y”`/,$p'| goaccess--output format=csv
@Kayla如果
access.log.0.Z
是最新版本,则效果很差--这种情况下,通配符扩展将以完全错误的顺序生成文件。顺便说一句,是否应该
[0-3][1-9]
[0-3][0-9]