这是一个奇怪的问题,但我的直觉告诉我有一个简单的方法来做到这一点:
我有一个总是在开发中的项目,使用PHP,已经14岁了。 尽pipe每一次尝试都要继续开发,那里面还有大量的文件。 PHP位是好的,我可以通过每个头中的数据库日志来做我所需要的。
我正在考虑Apache的东西 – CSS,GIF,PNG,老jQuery的参考,我可能会也可能不会招聘的旧的js文件。 大约有3000多个这样的文件。
许多图像引用的旧图像不再使用。 有些是我自停止使用的jQuery库。 事情是,他们都看起来像我记得回来的时候,有很多传统的衰变例程,有时需要这些旧的图像/ css / js / {插入这里}的function。
基本上这不是一个网站,它是一个PHP引擎,可以扔很多东西,很难跟踪,所以我只是把这些旧的引用。
我想要的是一种方法来遍历Apache日志已安装了一年多的活动,并积极确定是否每个人的形象或CSS或其他从来没有被引用,也没有拉起自服务器创build。
有没有办法逐项validationApache是否曾经使用它? 我有很多服务器运行这个代码,这将是很好的运行这个对每个服务器,所以它(理想情况下)是从Apache日志获取不同的文件调用(和一个计数?)的方式。 url或uncpath会很好。
如果你的文件系统没有被设置为放弃一次(例如ext3 / 4与noatime ),你可以使用一个简单的findfind一段时间内没有被访问的文件。
例如,要查找一年或一年以上未被访问的文件,请执行以下操作:
find /srv/www/ancientproject -atime +365 -print
但是,这可能无法解决你的问题,因为voretaq7指出了许多相同的原因。 例如,可能会在删除文件15分钟后请求该文件。
我想要的是一种方法来遍历Apache日志已安装了一年多的活动,并积极确定是否每个人的形象或CSS或其他从来没有被引用,也没有拉起自服务器创build。
我想要的是无限的资金 – 你不能总是得到你想要的东西 。
最接近你可以扫描Apache的访问日志,看看哪些文件正在被客户端访问,但这并不能保证文件不被使用。
require来包含 如果你想这样做,你将不得不让你的开发人员做一个适当的代码审计。 这是确切知道什么是不需要的唯一方法。
或者,您可以扫描您的可用日志,删除未引用的任何内容,然后在发现内容已损坏的情况下添加项目。 如果你有好的版本控制,这可能是一个可以接受的解决scheme