cron expression将每6个月运行一次,并在每月的第二个星期五运行

cron expression将每6个月运行一次,并在每月的第二个星期五运行,cron,Cron,我的cron(javaquartz作业调度器)表达式应该在1月9日下午12点(本月的第二个星期五)触发,下一个计划应该是从1月9日开始的6个月,在该月的第二个星期五,时间是下午12点 下面的表达式将按预期工作 * * 12 ? 1/6 6#2 问候,, DAM您的1/6需要包括在6个月的步骤中涵盖的全部范围 因此,例如,1-7/6将从第1个月(1月)开始,然后转到第7个月(7月)作为下一个计划运行,因为它涵盖了6步中1-7的范围 你的全部指挥权应该是 0 12 8-14 1-7/6 5 解

我的cron(javaquartz作业调度器)表达式应该在1月9日下午12点(本月的第二个星期五)触发,下一个计划应该是从1月9日开始的6个月,在该月的第二个星期五,时间是下午12点

下面的表达式将按预期工作

*  * 12 ? 1/6 6#2
问候,,
DAM

您的
1/6
需要包括在6个月的步骤中涵盖的全部范围

因此,例如,
1-7/6
将从第1个月(1月)开始,然后转到第7个月(7月)作为下一个计划运行,因为它涵盖了6步中1-7的范围

你的全部指挥权应该是

0 12 8-14 1-7/6 5
解释:

0
=仅在分钟:00运行,
12
=在中午运行,
8-14
仅在8-14月的(匹配)天内运行(第二个星期五必须只落在其中一个日期,第一个星期五不能落在其中任何一个日期),
1-7/6
仅在第1个月(1月)或第7个月(7月)运行,
5
并且仅在第5天(也就是星期五,因为星期天的索引为0或7)


由于cron仅在上述所有条件都匹配时运行,因此该命令将在1月和7月的第二个星期五中午12点运行。

Joseph,感谢您的回复。我正在将您的表达式修改为-->0 12?1-7/6 6#2 . 已通过cron验证,因此应该可以工作。为了其他可能查看您答案的人的利益,您能否指定您正在使用的cron类型?例如,您正在使用JavaQuartz作业调度器吗?(我要求您澄清的原因是,您使用的语法不受标准cron支持,至少对于最近的Linuxes或bsd还不支持。)是的,它是javaquartz作业调度器。
0 0 12 ? 1-7/6 6#2

0 --> run only at Secs :00
0  --> run only at minute :00
12 --> Runs on 12 noon
?  --> no specific value
1-7/6 --> runs only on months 1 (January) or 7 (July)
6#2 --> Second friday of the month

Next few Schedules

1.  Friday, January 9, 2015 12:00 PM  
2.  Friday, July 10, 2015 12:00 PM  
3.  Friday, January 8, 2016 12:00 PM  
4.  Friday, July 8, 2016 12:00 PM  
5.  Friday, January 13, 2017 12:00 PM