find并删除旧的未使用的图像?

当我们继续使用我们基于内容的网站时,很多图像都会被放到我们的图像文件夹中,但是我们很less遇到任何人在不需要它们的情况下删除他们的文件,这意味着我们最终得到一个巨大的图像列表一个文件夹,这是非常棘手的清理。

有一个工具,可以让我找出在过去的几个月里是否有网站要求提供图片?

更一般地说,你如何控制你的图像文件夹? 你们对开发者采取什么样的政策来清理? 如果最终出现失控情况,您将采取什么措施来决定哪些事情会发生?

您的网站内容pipe理工具是否允许您报告或查询哪些图片在网站内容中链接? 或者你可以在内容页面中运行一个stringsearch图像文件扩展名? 如果是这样的话,在过去的12个月(或更长时间取决于您的网站),该报告与networking服务器日志中的图像列表相结合应该足以识别所需的图像。 这假定图像文件请求出现在您的服务器日志中。 如果服务器上有可用的脚本环境,则可以编写脚本来删除未包含在这些列表中的图像。 您也可以创build第二个文件夹,并将所有需要的图像移动到那里,然后执行重命名。

当然,先备份或两个,并testing它的作品!

您的另一种方法,取决于网站的大小,将增加更多的存储空间。 这可能比在一堆图像文件中sorting花费更less,更快捷。 这也可以防止以后出现的问题,即直接从其他网站链接图像,或与内容重要但不经常使用的内容相关联。

为什么不按固定的时间间隔运行脚本来检查上次访问的文件状态,并根据老化参数删除它们?

您可以使用find -atime <arg>来评估unix系统中的访问时间,其中arg是具有+/-的天数,分别表示更多或更less

所以你可以提供find -atime +90 "*.jpg"的输出,例如search上次访问超过90天的jpg图像,回到for循环,在那里你把它提供给一个$ fvariables,例如循环在他们的rm命令

两个简单的方法来做你想做的事情。

  1. parsingWeb服务器日志(例如使用Perl)并构build已经访问的文件列表,然后删除所有其他文件。 不是我喜欢的做事方式。
  2. parsing您的网站上的链接(如果网站是build立在一个实际的方式),并删除任何未链接的文件。 这是可行的,因为它考虑到很less访问的内容。

search到日志文件后,原来主服务器IIS由于性能问题没有logging任何数据,而有些“政治”! 最后创build了我自己的“监视”日志,在那里我读取所有传入的请求,检查它是否在图像文件夹,并打开一个文本文件,添加图像url和urlReferrer,一个月后,我能够做一个有教育的猜测哪些文件夹应该去

感谢大家对此的意见