我们希望生成过去 3 个月、6 个月和一年内未在我们的网络服务器上访问过的文件的列表。
IIS 可以为我们提供已访问的文件列表,但我想知道是否有一种工具可以生成我们的 Web 服务器目录中未出现在日志文件中的文件列表。
答案1
恐怕没有简单的解决办法。我想你必须将日志与文件列表(我想是静态文件)进行比较。我能想到的最好的方法是使用日志解析器工具。
您可以将日志导入 SQL 数据库并创建一个包含所有 URL 的表(选择不同的...)。然后,您必须使用脚本创建目录中的文件名列表,并将生成的文件导入另一个数据库表。步骤 3 是从表 2 中选择第一个表中没有对应项的所有文件名。
答案2
Splattne 给出了我原本要发布的答案。我只想补充一点,处理事情的另一种方法是执行以下操作:
用“X_”前缀重命名任何您怀疑未使用的文件。例如,将 suspect.htm 重命名为“x_suspect.htm”
像鹰一样监视您的 404 日志。我们使用 grep 解析出所有 404 并查找并非真正死亡的“死亡”文件。如有必要,请将它们放回原处(或修复链接)。
这不是我最喜欢的做事方法(即向客户显示 404)但它确实有助于确认文件是否正在使用中。
希望这可以帮助。
答案3
Xenu 的链接侦探如果您授予它对您网站的 FTP 访问权限,将会执行孤立文件检查。
答案4
一般来说,这是一项很难完成的任务,所以我认为你不太可能找到现成的解决方案。虽然你可以从日志中获取访问的文件列表,并将其与相关目录中的文件列表进行比较,但你必须考虑以下用户访问的任何文件:
server.transfer
server.execute
#include
- 服务器端
<script>
标签 - 可能还有许多其他的东西 - 上面列出的只是对“经典” ASP 显而易见的东西。
等等。对于某些应用,可能许多脚本使用的文件,但由于引用方式而未在 Web 服务器日志中看到。