jenkins cron:每 3 分钟运行一次,从 1 开始

Posted

技术标签:

【中文标题】jenkins cron:每 3 分钟运行一次,从 1 开始【英文标题】:jenkins cron: run every 3rd minute, starting at 1 【发布时间】:2018-09-30 04:04:36 【问题描述】:

我想将 Jenkins 设置为每 3 分钟运行一次作业,但不是从 0 开始。基本上,我有 3 个作业,我想每分钟循环一次。

我可以使用*/3 * * * * 每 3 分钟运行一次的第一个作业。但是第二次我尝试了1/3 * * * *,它失败了hudson.remoting.ProxyException: line 1:2: unexpected token: /

这个表达式怎么写?

【问题讨论】:

我相信这里的问题在于 Jenkins 对 cron 表达式的评估。我每天中午和午夜都在使用 0 0/12 * * * 运行,但是遇到了与 OP 相同的错误:“unexpected token: /” @timblaktu - 看起来 Jenkins 坚持接近 gnu mcron(暗示 vixie cron)标准,该标准具有 x-y/z*/z 但未指定 x/z . (IEEE standard 甚至根本不允许 / 构造,只是逗号分隔的列表。) 【参考方案1】:

我想你正在寻找:

工作 1:0-57/3 * * * * 工作 2:1-58/3 * * * * 工作 3:2-59/3 * * * *

将 cron 分钟条目视为“范围/步骤”(或者,“在分钟范围内每 分钟运行一次开始-结束)

参考:我能够从这个出色的answer 中找到答案,其中包括一些有用的相关链接和更深入的解释。

【讨论】:

那么为什么 cron.help 或其他 cron 文档显示 */3、1/3 等都是有效的 cron 表达式?我相信这里的问题在于 Jenkins 对 cron 表达式的评估。我正在使用:0 0/12 * * * 每天在中午和午夜运行,但我遇到了与 OP 相同的错误:“unexpected token: /”

以上是关于jenkins cron:每 3 分钟运行一次,从 1 开始的主要内容,如果未能解决你的问题,请参考以下文章

每分钟运行一次 cron 作业,但从特定时间开始

cron表达式怎么实现“00:15-23:57每5分钟运行一次”?

仅在特定时间每分钟运行一次 cron 作业?

node-cron 每 3 小时运行一次作业

为什么这个cron作业每分钟运行一次?

无法使用cron每分钟执行一次python 3脚本