有没有简单的方法可以生成有关 IIS 中“死”文件的报告?

有没有简单的方法可以生成有关 IIS 中“死”文件的报告?

我们希望生成过去 3 个月、6 个月和一年内未在我们的网络服务器上访问过的文件的列表。

IIS 可以为我们提供已访问的文件列表,但我想知道是否有一种工具可以生成我们的 Web 服务器目录中未出现在日志文件中的文件列表。

答案1

恐怕没有简单的解决办法。我想你必须将日志与文件列表(我想是静态文件)进行比较。我能想到的最好的方法是使用日志解析器工具。

您可以将日志导入 SQL 数据库并创建一个包含所有 URL 的表(选择不同的...)。然后,您必须使用脚本创建目录中的文件名列表,并将生成的文件导入另一个数据库表。步骤 3 是从表 2 中选择第一个表中没有对应项的所有文件名。

答案2

Splattne 给出了我原本要发布的答案。我只想补充一点,处理事情的另一种方法是执行以下操作:

  1. 用“X_”前缀重命名任何您怀疑未使用的文件。例如,将 suspect.htm 重命名为“x_suspect.htm”

  2. 像鹰一样监视您的 404 日志。我们使用 grep 解析出所有 404 并查找并非真正死亡的“死亡”文件。如有必要,请将它们放回原处(或修复链接)。

这不是我最喜欢的做事方法(即向客户显示 404)但它确实有助于确认文件是否正在使用中。

希望这可以帮助。

答案3

Xenu 的链接侦探如果您授予它对您网站的 FTP 访问权限,将会执行孤立文件检查。

答案4

一般来说,这是一项很难完成的任务,所以我认为你不太可能找到现成的解决方案。虽然你可以从日志中获取访问的文件列表,并将其与相关目录中的文件列表进行比较,但你必须考虑以下用户访问的任何文件:

  • server.transfer
  • server.execute
  • #include
  • 服务器端<script>标签
  • 可能还有许多其他的东西 - 上面列出的只是对“经典” ASP 显而易见的东西。

等等。对于某些应用,可能许多脚本使用的文件,但由于引用方式而未在 Web 服务器日志中看到。

相关内容