Apache 错误日志的 Bash 代码片段显示哪些 URL 导致了 404 错误?

Apache 错误日志的 Bash 代码片段显示哪些 URL 导致了 404 错误?

我有一个标准的 apache 错误日志文件。我想看看哪些 URL 导致了 404 错误,因为我已经移动了这个网站,我想找到坏链接。有人能推荐一个 bash 代码片段,使用 awk 或其他东西来解析这个日志,向我显示常见的 404 错误吗?

我知道有针对此类事情的高级程序。我只是在寻找一些简单的东西。

答案1

这应该可以做到:

grep ' 404 ' /var/log/apache2/access.log | cut -d ' ' -f 7 |sort |uniq -c |sort -n

答案2

awk 的答案:

awk '$9 == 404{urls[$7]++}END{for (url in urls) print urls[url] "\t" url}' access_log | sort -n

这只是为了好玩,因为它可能比 womble 解决方案慢得多

相关内容