2014-12-26 35 views
0

每5分鐘,我想運行cron作業在這些時間段之間,每5分鐘:運行的cron在特定的時間跨度

  • 日:晚上8點 - 晚上10點
  • 週三:晚上8點 - 晚上10點
  • 星期五:晚上8:30 - 22:30
  • 週六:下午3:30 - 下午5:30下午6:30和 - 8.30
  • 週日:下午3:30 - 7:30

我想我需要多條線來實現它。

我目前的crontab看起來像這樣:

COMMAND=curl -u user:password http://localhost/webapp/cache/build/openligadb >> /var/log/cron.log 
# Tuesday + Wednesday 8pm - 10pm 
# m  h   dom mon dow command 
*/5  20-22  * * 2,3 $COMMAND 
# Friday 8.30pm - 10.30pm 
# m  h   dom mon dow command 
*/5+30 20-22  * * 5 $COMMAND 
# Saturday 3.30pm - 5.30pm and 6.30pm - 8.30pm 
# m  h   dom mon dow command 
*/5+30 15-17,18-20 * * 6 $COMMAND 
# Sunday 3.30pm - 8.30pm 
# m  h   dom mon dow command 
*/5+30 15-20  * * 0 $COMMAND 

我不知道如何測試/調試cron來看看,如果它是正確的,我寫的東西。

我目前GUSS將如下運行每5分鐘:

  • 週二晚上8點 - 晚上10點
  • 週三晚上8點 - 晚上10點
  • 週五晚上8:30 - 22:00(應該是晚上10:30)
  • 週六下午3:30 - 下午5點(應該是下午5:30)和下午6:30 - 晚上8點(應該是晚上8點半)
  • 週日下午3點半 - 晚上8點(應該是晚上8點半)
+1

我建議:1)建立'cron'運行它每隔5分鐘不分,並有腳本決定是否它在期望的窗口之外並且如果沒有提前退出,或者2)設置'cron'在每個窗口的開始處運行腳本一次,並且調整腳本以每五分鐘循環一次以進行特定次數的迭代。雖然你的上述方法也應該如此,但如果你的日程安排改變,它就更難調整... – twalberg

+0

第一種方法似乎更清潔並且可以接受。 – dtrunk

回答

3

沒有什麼錯明確列出你需要的時候,如果沒有相應的快捷方式:

# Tuesday + Wednesday 8pm - 10pm 
*/5  20-22  * * 2,3 $COMMAND 

# Friday 8.30pm - 10.30pm 
30,35,40,45,50,55 20 * * 5 $COMMAND 
*/5     21 * * 5 $COMMAND 
0,5,10,15,20,25,30 22 * * 5 $COMMAND 

# Saturday 3.30pm - 5.30pm and 6.30pm - 8.30pm 
30,35,40,45,50,55 15,18 * * 6 $COMMAND 
*/5     16,19 * * 6 $COMMAND 
0,5,10,15,20,25,30 17,20 * * 6 $COMMAND 

# Sunday 3.30pm - 8.30pm 
30,35,40,45,50,55 15  * * 0 $COMMAND 
*/5     16-19 * * 0 $COMMAND 
0,5,10,15,20,25,30 20  * * 0 $COMMAND