以下 cron 表达式是否表示每 45 分钟?

以下 cron 表达式是否表示每 45 分钟?

可能重复:
cron 如何处理“偶尔”任务中的剩余任务

愿意每 45 分钟运行一次脚本(而不是每小时的第 45 分钟)

例如 10:00、10:45、11:30、12:15 等等。

*/45 * * * *

我不确定这是否是正确的表达。

答案1

不,这意味着您将在可以被 45 整除的分钟数上运行命令。例如,12:45、1:45、2:45 等。如果您想每 45 分钟运行一次命令,您有两个选择。首先,您应该让您的脚本知道它何时运行,然后让 cron 运行*/15分钟数并检查它是否是预期的 45 分钟间隔。第二个选项的配置要麻烦得多:

0,45 0,3,6,9,12,15,18,21  * * *
30   1,4,7,10,13,16,19,22 * * *
15   2,5,8,11,14,17,20,23 * * *

答案2

不,这只会在每个小时的 45 分钟后运行一次脚本,因为间隔每 60 分钟重置一次(在本例中)。您可以使用类似

*/15 * * * * ...

并让你的脚本决定是否应该运行。

答案3

查看维基百科

我的理解是,这将是每小时的第 45 分钟。(例如 10:45)。

因此 */15 将在 10:00、10:15、10:30、10:45 运行,但 */45 将在 10:00 和 10:45 运行。

重要区别:*/n = 第 n 分钟不是每 n 分钟。

相关内容