2011-06-01 79 views

回答

8

從手冊頁:(8)當分鐘,小時, 和當月同比領域的匹配當前時間,並在爲期兩天的 至少一個

命令是由cron執行字段(月中的某天或一週中的某一天)與當前的 時間相匹配(請參見下面的「注意」)。

及更高版本:

注意:命令的執行日可以由兩個字段指定 - 天的月份,並星期幾。如果兩個字段都受到限制(即,不是*爲 ),則當任一字段與當前的 時間匹配時,將運行該命令。例如,`30 4 1,15 * 5'將導致命令在每個月的1號和15號以及每個星期五的上午4點30分在上午4點30分運行。

換句話說,你的腳本運行在第1到第7以及任何星期天。

+0

這真的很不幸。 nnCron [顯然](http://www.nncron.ru/help/EN/working/cron-format.htm)以預期的方式做到這一點(用AND):「'0 9 1-7 * 1 *第一個星期一每個月,早上9點,「但這對任何普通的unix系統都沒有幫助。 – jwadsack 2017-01-04 23:36:28

2

字段3和5不像你所假設的一樣工作。

您需要將字段5設置爲*並修改您的php腳本以檢查當前日期是否爲星期日,然後繼續。

2

你的cron規範出來這樣:

0 - run at minute 0 
7 - run at hour 7 
1-7 - run on days 1,2,3,4,5,6,7 
* - all months 
0 - day 0 of the week 

我不相信你可以將其限制爲只能通過在cron中的工具,第一類型的天。你可以嘗試

0 7 * * 0 

which'd運行每個星期天,但有沒有方法說「只有第一個星期天」,因此這將運行每個星期天。但是,您可以修改腳本以檢查它正在運行的星期日,如果它不是第一個星期日,則可以退出。

相關問題