Rails每小时清理一次文件夹

时间:2013-06-10 19:38:57

标签: ruby-on-rails-3

我的Rails项目的public目录中有一个文件夹。有时服务器会将文件下载到此文件夹中。我希望服务器每小时清除一次这个文件夹(删除所有文件)。可以在Rails中做到吗?

2 个答案:

答案 0 :(得分:0)

写一个CRON选项卡并每小时执行一次。像

这样的东西
0 * * * * find /path/to/rails/public -name "*.txt" -mtime +1 | xargs rm -fr

当然,请使用与您的文件匹配的模式替换*.txt

编辑:@JoeFrambach在管道findxargs方面存在问题,但他没有详细说明为什么或提供替代解决方案。如果您不想使用管道,可以使用-exec开关find

find /path/to/rails/public -name "*.txt" -mtime +1 -exec rm {} \;

最终应该是相同的。

答案 1 :(得分:0)

不直接在轨道上,但肯定有点红宝石。您可以通过编写cron任务来设置定期作业(或者如果您不喜欢cron,则使用when gem将其保留在ruby中)。

您可以使用when when直接执行shell命令,或者编写rake任务并执行该命令。