我需要获取所有包含 25/Jan/2013:00:25 的 Apache 访问日志文件的输出。我的托管公司没有帮助我调查哪个域允许垃圾邮件发送者发送邮件
我想搜索一个“全局”日志文件,查找所有通过 Apache 进行的访问,而不考虑域,但被告知没有这样的文件,我必须分别搜索所有域的所有日志文件
路径通配符是 /var/www/vhosts//statistics/logs/access_log 和 /var/www/vhosts//统计/日志/access_log.processed
是否有一个 grep 命令可以运行来从所有文件中提取所有匹配的行?
答案1
当然可以,grep
可以处理多个文件。只需运行
grep '25/Jan/2013:00:25' /var/www/vhosts/*/statistics/logs/access_log{,.processed}
你的 shell 应该可以毫无问题地进行扩展,如果你想了解有关 shell 扩展的更多详细信息,请看这里:
http://www.gnu.org/software/bash/manual/bashref.html#Shell-Expansions
顺便说一句,仔细检查你的时间串。