Jason Asked: 2009-07-09 07:39:39 +0800 CST2009-07-09 07:39:39 +0800 CST 2009-07-09 07:39:39 +0800 CST 是否有一种简单的方法可以生成有关 IIS 中“死”文件的报告? 772 我们正在寻找在过去 3 个月、6 个月和一年内未在我们的网络服务器上被点击的文件列表。 IIS 可以为我们提供已被命中的文件列表,但我想知道是否有一个工具可以在我们的网络服务器目录中生成一个未出现在日志文件中的文件列表。 log-files iis 4 个回答 Voted splattne 2009-07-09T07:53:11+08:002009-07-09T07:53:11+08:00 恐怕没有简单的解决方案。我想您必须将您的日志与您的(我想是静态的)文件列表进行比较。我能想到的最好方法是使用LogParser工具。 您可以将日志导入 SQL 数据库并创建一个包含所有 URL 的表(选择不同的 ...)。然后,您必须使用脚本在目录中创建文件名列表,并将生成的文件导入另一个数据库表。第 3 步是从 Table2 中选择在第一个表中没有对应项的所有文件名。 KPWINC 2009-07-09T08:02:01+08:002009-07-09T08:02:01+08:00 Splattne 有我要发布的答案。我只想补充一点,解决问题的另一种方法是执行以下操作: 使用“X_”前缀重命名您怀疑未使用的任何文件。例如将suspect.htm 重命名为“x_suspect.htm” 像鹰一样观察你的 404 日志。我们使用 grep 解析出所有的 404 并寻找并非真的死的“死”文件。如有必要,将它们放回(或修复链接)。 这不是我最喜欢的做事方法(即向客户展示 404),但它确实有助于确认文件是否正在使用中。 希望这可以帮助。 MattB 2009-07-09T08:49:32+08:002009-07-09T08:49:32+08:00 Xenu 的 Link Sleuth将执行孤立文件检查,如果您给它 FTP 访问您的网站。 David Spillett 2009-07-09T10:26:43+08:002009-07-09T10:26:43+08:00 一般而言,这将是一项艰巨的任务,因此我认为您不太可能找到现成的解决方案。虽然您可以获取从日志中访问的文件列表并将其与相关目录中的文件列表进行比较,但您必须考虑通过以下方式访问的任何文件: server.transfer server.execute #include 服务器端<script>标签 可能还有很多其他的东西——上面的列表只是“经典”ASP 最明显的东西。 等等。对于某些应用程序,可能有许多文件被脚本使用,但由于引用它们的方式而在 Web 服务器日志中看不到。
恐怕没有简单的解决方案。我想您必须将您的日志与您的(我想是静态的)文件列表进行比较。我能想到的最好方法是使用LogParser工具。
您可以将日志导入 SQL 数据库并创建一个包含所有 URL 的表(选择不同的 ...)。然后,您必须使用脚本在目录中创建文件名列表,并将生成的文件导入另一个数据库表。第 3 步是从 Table2 中选择在第一个表中没有对应项的所有文件名。
Splattne 有我要发布的答案。我只想补充一点,解决问题的另一种方法是执行以下操作:
使用“X_”前缀重命名您怀疑未使用的任何文件。例如将suspect.htm 重命名为“x_suspect.htm”
像鹰一样观察你的 404 日志。我们使用 grep 解析出所有的 404 并寻找并非真的死的“死”文件。如有必要,将它们放回(或修复链接)。
这不是我最喜欢的做事方法(即向客户展示 404),但它确实有助于确认文件是否正在使用中。
希望这可以帮助。
Xenu 的 Link Sleuth将执行孤立文件检查,如果您给它 FTP 访问您的网站。
一般而言,这将是一项艰巨的任务,因此我认为您不太可能找到现成的解决方案。虽然您可以获取从日志中访问的文件列表并将其与相关目录中的文件列表进行比较,但您必须考虑通过以下方式访问的任何文件:
server.transfer
server.execute
#include
<script>
标签等等。对于某些应用程序,可能有许多文件被脚本使用,但由于引用它们的方式而在 Web 服务器日志中看不到。