如何每天从rails服务器的目录中删除一次文件

时间:2014-07-17 11:52:22

标签: ruby-on-rails cron daemon

我需要在特定时间每天从特定文件夹中删除一次文件。无论什么时候,我都找到了一颗宝石。要做到这一点,但我不想为这个目的使用宝石。没有使用宝石,有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

如上所述,您应该为此编写自己的脚本。

如果您使用的是Linux,则可以将其输入shell。

crontab -l 

这将显示您的所有工作。

现在让我们创造一份工作:

crontab -e

在脚本中输入:

00 00 * * * bash path/to/your/script.sh

这些数字和星号是unix / linux程序crontab的符号,你可以检查它们the manual page或者你输入你的shell:

man crontab

到目前为止发生了什么?

我们已经设置了一个每日crontab,它调用我们的脚本/path/to/your/script.rb。

现在我们可以为我们的脚本添加一些操作,例如删除文件夹中的所有文件。

创建一个名为script.sh的文件。 并设置该脚本的执行权限,如下所示:

chmod +x script.sh 

您可以使用shell中的命令测试脚本。

./script.sh 

bash script.sh

sh script.sh 

script.sh:

#!/bin/bash

rm -r /path/to/the/files/you/want/to/delete/*             

你说你需要该脚本在特定的时间运行。假设你想每10分钟运行一次。

您可以将其添加到您的crontab中。

* / 10 * * * * bash /path/to/your/script.sh

如果您在搜索引擎中输入“crontab examples”,您将获得大量结果。

如果您需要该脚本的ruby版本,请告诉我。 除此之外,我喜欢你不想使用宝石的事实。 只是不确定维护者是否会在未来几年内实际维护宝石......

如果你在Windows上,你可以做...我不在乎...谷歌为你自己做类似“添加预定并执行powershell脚本”

相关问题