1

我有一个脚本,可以从 Web 服务中提取一些数据并填充 mysql 数据库。这个想法是每分钟运行一次,所以我添加了一个 cron 作业来执行脚本。

但是,我希望能够在不修改我的 crontab 的情况下偶尔暂停和重新开始工作。

实现这一目标的最佳实践是什么?或者我真的不应该使用 crontab 来安排我想偶尔暂停的事情吗?

我正在考虑设置全局变量并在脚本内部检查的实现。但我想我会先寻找更合适的解决方案。越简单越好——我对脚本和红宝石都是新手。

4

1 回答 1

2

如果我是你,我的脚本会查看一个静态开关,就像你对全局变量所说的那样,但测试文件是否存在而不是全局变量。这对我来说似乎很干净。

另一种解决方案是让服务不使用 crontab,而是每分钟调用一次您的脚本。该服务将与/etc/init.dor 中的其他服务(/etc/rc.d取决于您的发行版)类似,并具有start,stoprestart命令作为其他服务。

这两种解决方案可以混合使用:

  1. 该服务仅创建或删除切换文件,并且 crontab 行始终处于活动状态。
  2. 或者您的服务直接像这样编辑 crontab ,但我不喜欢通过脚本编辑 crontab,并且文章中描述的技术不是原子的(如果您在脚本的读取和写入之间更改您的 crontab,您的更改就会丢失) .

所以在你的地方,我会选择 1。

于 2012-07-21T22:40:17.323 回答