操作系统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