pipe理cron来清除caching的目录

pipe理每周从多个位置删除文件的cron作业的最佳方法是什么?

当我说pipe理,我的意思是不同的位置理想情况下,这将在MySQL数据库中最好的工作。 无需为每个位置创build一个cron作业。

原因是我们有许多不同的网站项目可以生成caching的文件,在过去的几周内已经开始增长。

如果你的意思是不同的服务器,那么在每个服务器上创build一个cronjob是最好的写法。 写一个有用的家务pipe理的通用脚本,并安排在所有的服务器上。

如果你指的是在同一台服务器上的不同位置,那么从文本文件中读取目录并清理它们的一个cronjob是最简单的select,对于目标目录列表来说,mysql看起来过分了。 如果有一个很好的理由在MySQL数据库中的位置,那么你可以编写一个Perl脚本来读取MySQL数据,并整理列出的目录。

最后,取决于你的web应用程序如何创build文件,它们应该被编写来保持它们自己。 当应用程序创build一个新的caching文件时,它可以检查是否需要删除。 自我pipe理应用程序比依靠外部脚本更好,因为不相关的原因可能会失败。

您可以创build一个脚本,通过cron在一台服务器上运行,并使用ssh删除不同位置的文件:

ssh [email protected] rm -rf /path/to/cache ssh [email protected] rm -rf /path/to/cache2 etc. 

检查错别字! 🙂

或更安全:

 ssh [email protected] 'cd /path/to && rm -rf cache' 

请确保使用ssh-copy-id将密钥复制到远程服务器,以便您可以使用无密码login:

 ssh-copy-id [email protected]