如果有更好的解决方案,我的目标是能够快速分析 /usr/local/apache/domlogs 中所有最近的 apache 活动。这样做的用处是,当服务器负载达到顶峰时,我想快速查看哪些网站受到攻击(以及哪些 URL),而不必单独 grep/awk domlog 中的所有内容。
例如,我知道我可以在 domlogs 目录中使用以下命令获取最近活动的 apache 访问 domlog 的列表:
find -regex '.*\.\(com\|org\|net\|biz\|info\)' -mmin -1
现在我想做的是将每个文件的尾部 1000 行连接到一个新文件中,以便我可以快速分析它并查看所有流量来自哪里。
答案1
您可以使用-exec
选项:
find -regex '.*.(com\|org\|net\|biz\|info)' -mmin -1 \
-exec tail -n 1000 "{}" >> logs.txt +
现在 domlogs 中每个文件的所有最后 1000 行都写入 file logs.txt
,并以文件名分隔。
-exec command {} +
告诉find
使用找到的文件运行命令,命令行是通过在末尾附加每个文件名来构建的。此选项适用于find
管道到 的线路组合xargs
。
查看更多: