linux – 在Crontab中通用的方式指定每n分钟,其中n> 60

linux – 在Crontab中通用的方式指定每n分钟,其中n> 60,第1张

概述参见英文答案 > Why is my crontab not working, and how can I troubleshoot it?                                    5个 在crontab中,我看到了几个答案,用户要求每隔5分钟运行一次: */5 * * * * command 或者每隔5分钟就有一个偏移: 10-59/5 * * * * comman 参见英文答案 > Why is my crontab not working,and how can I troubleshoot it?5个
在crontab中,我看到了几个答案,用户要求每隔5分钟运行一次:
*/5 * * * * command

或者每隔5分钟就有一个偏移:

10-59/5 * * * * command

我已经看到一些创造性的解决方案,人们每90分钟制作2行crontabs:

0 0-21/3 * * * whatever30 1-22/3 * * * whatever

感谢下面的答案之一(感谢@khaled),这是3小时30分钟的另一个创意解决方案:

0 0-23/7 * * * whatever30 3-23/7 * * * whatever

是否有每x分钟问题的通用解决方案?例如,我目前需要每3小时30分钟.

解决重复标记:链接的问题明显不同 – 有关如何设置和调试cron作业的一般建议.我指的是一个特定的问题,我们正在达到cron语法的极限.我正在寻找一种解决“每超过60分钟”问题的通用算法,这在链接问题中没有解决.

解决方法 你只需要自己做数学计算就可以得到所需的工作来实现你的计时.
0 0-23/7 * * * whatever30 3-23/7 * * * whatever

从这两个例子可以得出一个简单的算法(当有30分钟的偏移时):

>添加两个条目:一个偏移0分钟,另一个偏移30分钟.
>指定小时范围宽度等于持续时间* 2.
>指定小时偏移量:一个以0开头,另一个以丢弃30分钟零件后的持续时间开始.

如果你想得更多,你可以为每75分钟的事情提出类似的解决方案.

编辑:

Cron不能用于所有类型的预定作业.例如,在每月的最后一天每月执行一次作业.你不能简单地用cron来做,因为月份的最后一天会从一个月变为另一个月.要解决此问题,您可以在月末(28-31)的可能值范围内运行cron作业,并在执行实际作业之前验证它是否真的是脚本中的最后一天.

总结

以上是内存溢出为你收集整理的linux – 在Crontab中通用的方式指定每n分钟,其中n> 60全部内容,希望文章能够帮你解决linux – 在Crontab中通用的方式指定每n分钟,其中n> 60所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1042820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存