是否可以让 cron 作业运行得比每分钟一次更频繁?

是否可以让 cron 作业运行得比每分钟一次更频繁?

操作系统6

我有一个每分钟执行一项任务的 shell 脚本。该任务本身只需要几秒钟即可完成,理想情况下我希望此 shell 脚本每分钟执行 2-3 次。这可以用 cron 来做吗?或者最快的间隔是每60秒一次?

答案1

cron的联机帮助页说

cron(8) 每分钟检查一次 cron 条目。

因此其分辨率设计为 60 秒。您可以有一个多次调用该脚本的 cron 作业,但您必须小心这些作业不要开始相互重叠,以防脚本花费的时间比预期长。

如果您确实需要(例如)每 30 秒执行一次,那么最好将脚本包装在循环中并对其进行守护进程。您必须编写自己的错误处理,因为您将无法再依赖通过cron电子邮件发送错误。

答案2

只是一个附加组件拉胡尔·帕蒂尔回答。根据他的回答,我通过以下方式达到了所需的结果:

* * * * *  /path/of/myscript.sh
* * * * *  sleep 20s && /path/of/myscript.sh
* * * * *  sleep 40s && /path/of/myscript.sh

这使我能够每分钟执行该脚本 3 次。

答案3

很简单,只需在 cron 中使用以下语法即可

如果第一次运行成功,它将运行,然后是其他,依此类推

* * * * *  /path/of/yoursript.sh && sleep 5s && /path/of/yoursript.sh && sleep 5s && /path/of/yoursript.sh 

相关内容