2015-01-07 65 views

回答

1
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 
+0

爲了可能正在查看您的答案的其他人的利益,您是否能夠指定您使用的是哪種cron?例如,您是否使用Java Quartz作業調度程序? (我要求你澄清的原因是你使用的語法不被標準cron支持,至少對於最近的Linux或BSD是不支持的。) –

+0

是的,它是Java Quartz作業調度程序。 – Damo

+0

謝謝,@Damo!現在,這是一個明確的問題和良好的答案。 –

0

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點運行。

+0

Joseph,謝謝你的回覆。我正在修改你的表達 - > 0 0 12? 1-7/6 6#2。通過cron驗證,所以應該工作。 – Damo

相關問題