cron expression将每6个月运行一次,并在每月的第二个星期五运行
我的cron(javaquartz作业调度器)表达式应该在1月9日下午12点(本月的第二个星期五)触发,下一个计划应该是从1月9日开始的6个月,在该月的第二个星期五,时间是下午12点 下面的表达式将按预期工作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 解
* * 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