我的Rails项目的public
目录中有一个文件夹。有时服务器会将文件下载到此文件夹中。我希望服务器每小时清除一次这个文件夹(删除所有文件)。可以在Rails中做到吗?
答案 0 :(得分:0)
写一个CRON选项卡并每小时执行一次。像
这样的东西0 * * * * find /path/to/rails/public -name "*.txt" -mtime +1 | xargs rm -fr
当然,请使用与您的文件匹配的模式替换*.txt
。
编辑:@JoeFrambach在管道find
到xargs
方面存在问题,但他没有详细说明为什么或提供替代解决方案。如果您不想使用管道,可以使用-exec
开关find
:
find /path/to/rails/public -name "*.txt" -mtime +1 -exec rm {} \;
最终应该是相同的。
答案 1 :(得分:0)
不直接在轨道上,但肯定有点红宝石。您可以通过编写cron任务来设置定期作业(或者如果您不喜欢cron,则使用when gem将其保留在ruby中)。
您可以使用when when直接执行shell命令,或者编写rake任务并执行该命令。