如何识别和从apache web服务器中删除未使用的文件/目录

新客户。 旧服务器。 未使用的文件和目录比比皆是。 5个特定的核心目录(连接到不同的域)。 10-20个可能无关的目录w /文件与核心目录在同一级别。

创build一些在每个核心目录中运行并执行以下操作:

将几个月的原始日志文件缩减为URI的脚本,收集目录列表,循环显示目录列表,并在精简日志文件中列出没有相应外观的所有内容。

这样的事情已经存在了吗? 完成最终目标的更好方法? build议的语言/工具来build立?

老实说,如果做得对,我正在寻找从哪里开始。

Honestly, I'm looking for where to begin on this if it were done right.

有一个很好的备份和一个新的服务器,只build立你所需要的。

根据访问权去除东西的危险是你会失去长尾巴的东西(一个超级重要的文件,每年由你的供应商在大溪地访问两次,没有它,他们不能将你的shiny小工具运送给你,整个公司都肚子痛)。 这是备份的地方(所以你可以得到shiny的小部件文件)。

试图“清理”一个装满垃圾的旧服务器的危险是不知道什么是垃圾,什么是重要的。
既然你问我们这个问题,而不是把你的拳头放到服务器上,把它的数字化的烂掉,我们可以假设你不知道什么是不可以的。 即使是最好的工具也会在一方或另一方产生毛病:要么因为不知道自己是否需要,而要去除某些需要的东西,而不得不去做那些备份。


如果你仍然想写你描述的脚本,你可以用一个(相对)简单的shell脚本来完成:

  • 将日志文件放在一起
  • 使用awk来获取URL
  • sortuniq的URL列表,以消除重复
    • 您可能需要进一步的awksed操作来将URL转换为磁盘上的文件名…
  • 把你已知的文件列表,手动检查,并添加你的脚本可能错过的任何东西
  • 打开已知的文件并将它们卡在安全的地方。
  • 将旧的目录移到一旁(保持它作为备份的安全)并解开已知的访问文件。

(对于读者来说,实现仍然是一个练习,主要是因为你的访问日志格式可能与我的不同,这会影响你需要使用的awkexpression式来将URL变成文件系统中的文件)