我可以让 Jenkins 触发器在每个月的第一个星期天 运行 吗?
Can I get a Jenkins trigger to run every first week day of every month?
我的目标是在每月第一个工作日的早上 7 点(7/1/15、8/3/15、9/1/15 等)触发报告
我正在使用以下 cron 表达式:H 7 1-3/3 * 1-5
是7月1日运行,但不是8月3日安排在运行旁边,而是9月1日安排的。请问怎样才能到运行每个月的第一个工作日?
我正在使用以下帮助指南:
MINUTE 一小时内的分钟 (0–59)
HOUR 一天中的小时 (0–23)
DOM 一个月中的第几天 (1–31)
MONTH 月份 (1–12)
DOW 星期几 (0–7),其中 0 和 7 是星期日。
要为一个字段指定多个值,可以使用以下运算符。按照先后顺序,
- * 指定所有有效值
- M-N 指定数值范围
- M-N/X 或 */X 在指定范围或整个有效范围内按 X 的间隔步进
- A,B,...,Z 枚举多个值
为了让定期计划的任务在系统上产生均匀的负载,应尽可能使用符号 H(“哈希”)。
绝对奇怪,尤其是因为当你将表达式更改为
H 7 1-3/3 8 1-5
它识别八月。一定是某种错误。也许是闰秒问题?
每月第一个工作日规则:
- 如果今天是星期一,那么作业应该是 运行 如果今天也是一个月的 1 号、2 号或 3 号
- 如果今天是星期二、星期三、星期四或星期五,那么作业应该是 运行 如果今天也是一个月的第一天
以下 cron 表达式应该可以完成这项工作:
H 7 1-3 * 1
H 7 1 * 2
H 7 1 * 3
H 7 1 * 4
H 7 1 * 5
# Would last have run at Wednesday, July 1, 2015 7:00:02 AM EEST; would next run at Monday, August 3, 2015 7:00:02 AM EEST.
注意,由于 this 文章,您 不能 只使用:
H 7 1-3 * 1
H 7 1 * 2-5
The above doesn't work! Instead, the job is run on every weekday, twice on the 1st of the month, and maybe twice on the 2nd and 3rd of the month!
但是我无法复制它。
这是你问题的答案,看来可以用
http://www.switchplane.com/blog/how-to-run-a-cron-job-on-the-first-weekday-of-the-month/
祝一切顺利
这应该可以正常工作:
H 7 1-3 * 1
H 7 1 * 2-5
接受的答案引用的文章是关于 crontab 表达式的。 Jenkins cron 表达式实际上对 DOM 和 DOW 使用 AND(否则来自接受的答案也不起作用)
我的目标是在每月第一个工作日的早上 7 点(7/1/15、8/3/15、9/1/15 等)触发报告
我正在使用以下 cron 表达式:H 7 1-3/3 * 1-5
是7月1日运行,但不是8月3日安排在运行旁边,而是9月1日安排的。请问怎样才能到运行每个月的第一个工作日?
我正在使用以下帮助指南:
MINUTE 一小时内的分钟 (0–59)
HOUR 一天中的小时 (0–23)
DOM 一个月中的第几天 (1–31)
MONTH 月份 (1–12)
DOW 星期几 (0–7),其中 0 和 7 是星期日。
要为一个字段指定多个值,可以使用以下运算符。按照先后顺序,
- * 指定所有有效值
- M-N 指定数值范围
- M-N/X 或 */X 在指定范围或整个有效范围内按 X 的间隔步进
- A,B,...,Z 枚举多个值
为了让定期计划的任务在系统上产生均匀的负载,应尽可能使用符号 H(“哈希”)。
绝对奇怪,尤其是因为当你将表达式更改为
H 7 1-3/3 8 1-5
它识别八月。一定是某种错误。也许是闰秒问题?
每月第一个工作日规则:
- 如果今天是星期一,那么作业应该是 运行 如果今天也是一个月的 1 号、2 号或 3 号
- 如果今天是星期二、星期三、星期四或星期五,那么作业应该是 运行 如果今天也是一个月的第一天
以下 cron 表达式应该可以完成这项工作:
H 7 1-3 * 1
H 7 1 * 2
H 7 1 * 3
H 7 1 * 4
H 7 1 * 5
# Would last have run at Wednesday, July 1, 2015 7:00:02 AM EEST; would next run at Monday, August 3, 2015 7:00:02 AM EEST.
注意,由于 this 文章,您 不能 只使用:
H 7 1-3 * 1
H 7 1 * 2-5
The above doesn't work! Instead, the job is run on every weekday, twice on the 1st of the month, and maybe twice on the 2nd and 3rd of the month!
但是我无法复制它。
这是你问题的答案,看来可以用
http://www.switchplane.com/blog/how-to-run-a-cron-job-on-the-first-weekday-of-the-month/
祝一切顺利
这应该可以正常工作:
H 7 1-3 * 1
H 7 1 * 2-5
接受的答案引用的文章是关于 crontab 表达式的。 Jenkins cron 表达式实际上对 DOM 和 DOW 使用 AND(否则来自接受的答案也不起作用)