我有27 000个日志文件,需要在GoAccess中一次性解析它们。每次我运行这个命令
goaccess /home/goaccess/part/2/*.log --log-format='%^ %dT%t.%^ %v %h:%^ %^ %^ %T %^ %s %^ %^ %b "%r" "%u" %k %K %^' -o /var/www/html/index.html --date-format=%Y-%m-%d --time-format=%T
字符串
它说
bash:/usr/bin/find:参数列表太长
我已经尝试了chatgpt和bard建议的所有东西,仍然是同样的问题。
2条答案
按热度按时间nkhmeac61#
试试这个:
字符串
这应该使用xargs(专为此类问题设计)将goaccess命令批处理到符合arg列表限制数量的组中,并允许处理任意数量的文件。有关更多详细信息和示例,请参见man xargs。
n9vozmp42#
你可以尝试一些事情。
首先切换到日志目录:
字符串
但是对于27k文件来说,这可能是不够的。
如果文件名对你的goaccess调用不重要(我不知道它是否重要),那么管道日志内容就可以工作:
型
作为最后手段:goaccess似乎支持在配置文件中设置输入日志文件,但不清楚是否可以设置多个。如果是这样,您可以生成一个配置文件,其中包括所有28k日志文件。