sudo tail -f -n0 /var/log/nginx/access.log | grep -Ev '1.2.3.4'
我有一个 nginx.log,需要监控除我自己的 IP(1.2.3.4)之外的所有线路。除了来自我自己 IP 的连接外,Web 服务器没有看到太多活动,所以我想看看还发生了什么。
上述命令组合有效期为 cca。10 分钟后,命令输出就冻结了 - 我的 ssh 会话没有终止,但需要很长时间才能使用 Ctrl-Z 恢复。
有任何想法吗?
编辑1:我已经尝试了迄今为止发布的建议,但似乎都没有发挥上述命令所能达到的作用。
答案1
通常来说,在grep -v
a 中使用tail -f
正则表达式不是一个好主意。在 grep 中使用正则表达式也是一个坏主意。
你最好尝试类似这样的方法:
tail -f /var/log/nginx/access.log | perl -pe 'if (/1\.2\.3\.4/) {$_ = ""}'
-n0
如果仅需要遵循新行,请添加。
编辑:请注意将 ' 放在 $ 符号外面,以避免 shell 评估