gpt4 book ai didi

Unix/CentOS 如何解析 access_log 并将任何匹配记录到文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:44 25 4
gpt4 key购买 nike

我在后台运行(SSH)tail -f access_log | grep 'POST/index.php' > 测试 &

我在 /var/log/httpd 中运行了这个命令,其中存储了 access_logerror_log

我一直在执行 ls -l 以查看 test 文件是否更改了大小,但它已创建......并且始终为 0 字节。

我是否使用了正确的命令 tail?做我想做的事?

我希望能够过滤掉无用的 access_log 信息,只将 POST/index.php 存储在不同的文件中。

我知道 access_log 即使在我对其进行迭代时也会不断修改自身,但如果可以从上到下开始(head?我猜)那会更好。

最佳答案

tail -f 将有连续输出,因此 > test 可能永远不会创建文件。

Ahmed Masud 的回答中的建议可能比这个更好,所以先试试这个,但如果这对你不起作用,你可以每分钟或每小时运行一次,或者如果你不需要的话担心它是否 super 高效:

grep 'POST /index.php' access_log > test

这将在您每次运行时完全重新创建文件 test 而不是增量构建它。但是,如果您只想要一个粗糙的工具,那就可以完成。

如果您这样做并且您的日志文件被轮换,那么在新文件上运行之后,您将不再拥有 test 中先前日志文件中的内容。所以请注意这一点!另一方面,使用 tail -f,如果文件旋转,您将停止获取数据,直到您重新启动该过程(除非您使用 >,否则它也会清除旧数据> 而不是 >)。

关于Unix/CentOS 如何解析 access_log 并将任何匹配记录到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8336399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com