0

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

4

2 回答 2

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 {} \;

最终应该是一样的。

于 2013-06-10T19:43:33.007 回答
0

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

您可以使用任何时候直接执行 shell 命令,或者编写一个 rake 任务并执行它。

于 2013-06-10T19:45:02.823 回答