加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-05-24 02:37:39 所属栏目:Linux 来源:互联网
导读:参见英文答案 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 * * * whatever
30 1-22/3 * * * whatever

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

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

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

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

解决方法

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

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

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

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

编辑:

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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读