2013-05-08 39 views
0

部分使用stackoverflow搜索我想出瞭如何每3小時運行一次cronjob,但不能在23h-16h之間運行。這意味着在今天16點之前暫停,直到今天23點。所以cronjob應該在23h每3小時開始運行一次,16h停止,然後在23h再次啓動。Cronjob每x小時23-16之間不工作

這是結果:

0 23-16/3 * * * /usr/local/bin/flexget -c /media/usb/Downloads/flexget/config.yml --cron

現在我的問題:這是爲什麼不工作?它不運行在所有:(

我也試過:

* 23-16/3 * * * /usr/local/bin/flexget -c /media/usb/Downloads/flexget/config.yml --cron

(不知道的區別是0或*作分鐘什麼的,圓形的小時或不是?)

這是否工作:

0 */3 * * * /usr/local/bin/flexget -c /media/usb/Downloads/flexget/config.yml --cron

但後來它只是每天跑步,每3個小時,沒有停頓的賭注16-23。

回答

1

您可以始終明確列出小時數。

0 2,5,8,11,14,23 * * * /usr/local/bin/flexget -c /media/usb/Downloads/flexget/config.yml --cron 

注意這是不一樣與*替換0分鐘,如:

* 2,5,8,11,14,23 * * * /usr/local/bin/flexget -c /media/usb/Downloads/flexget/config.yml --cron 

在每個分鐘上指定的小時後者開始,即2點, 2:01,2:02,...,2:59,5:00,5:01,... 5:59,...

+0

好的,謝謝! 不知道爲什麼16-23不工作。但我會用你的解決方案! – zilexa 2013-05-09 09:47:06

+0

,因爲23和16在不同的日子。假設您指定了23-16,並且還指定了星期幾= x或日期= x。它怎麼知道你的意思是16:00是在第x天還是在23:00? – shx2 2013-05-09 17:03:38