請問這個crontab的語法意味着crontab的語法查詢
"*/15 * * * 2-5"
我認爲這意味着它運行,每15分鐘過去每隔一小時,從週二至週六。 我可以更改到:
"*/55 * * * 2-5"
,這似乎不是出於某種原因。
你能解釋一下開頭是什麼嗎?
感謝
請問這個crontab的語法意味着crontab的語法查詢
"*/15 * * * 2-5"
我認爲這意味着它運行,每15分鐘過去每隔一小時,從週二至週六。 我可以更改到:
"*/55 * * * 2-5"
,這似乎不是出於某種原因。
你能解釋一下開頭是什麼嗎?
感謝
,如果你想讓它每15分鐘運行你的第一個例子應該沒問題。第五位的2-5
指週二至週五。
你想用*/55
完成什麼?
一個好的語法解釋可以在Wikipedia:
星號(*)中找到
星號表示了cron 表達式將匹配的所有值的字段的 ;例如在第4場(月)中使用星號 將 指示每個月。
斜槓(/)
斜線被用來描述範圍的 增量。例如 3-59/15在第一場(分鐘) 將顯示 小時的第三分鐘,此後每隔15分鐘。 表格「*/...」相當於 表格「0-59/...」。
*/xx
表示每xx個時間單位。
在您的例子,*/15
意味着每15分鐘=>:15:30:45
的*/55
將每隔55分鐘,將每一個小時(10:55,11啓動後在55腳本: 55,12:55 ....)
我相信*/55會啓動,就像你提到的每55分鐘一樣,意思是10:55,11:50,12:45等等。 – 2014-07-24 17:04:11
"*/15 * * * 2-5"
的*/15
並不意味着它每15分鐘運行過去每隔一小時......在/15
是一個循序漸進的指標,這意味着它每15分鐘運行(即4次一小時)
從手冊頁:
> man 5 crontab
Steps are also permitted after an asterisk,
so if you want to say ``every two hours'',
just use ``*/2''.
,如果你想要週期運行的東西,即因此只使用*/
符號。一小時多次,一天多次等。
彼得
違背了民間傳說,*/XX並不意味着每XX時間單位。
/pattern表示大約每xx個時間單位,但是不在範圍的末尾。
它只適用於xx可以被單位均勻分割(即分鐘或秒僅爲/ 2,3/4,/ 5,/ 6,/ 8和/ 12)
例如*/5將在大多數時間內每5天重複一次,除了在月份結束時重複1,2或4天后(取決於月份和閏年)。
因爲55非常接近60,它實際上可以按照你的意圖工作,但只是巧合(因爲四捨五入)。如果你寫*/25它會運行兩個小時,在:25和:50
Jaime Guerroro的答案接近RHEL 7.2上的正確行爲這是我的發現。 用於cron條目
*/55 * * * * /root/test.sh &>> /root/output.log
我得到的行爲
=== Start /root/test.sh Wed May 18 19:55:01 ===
=== Start /root/test.sh Wed May 18 20:00:01 ===
=== End /root/test.sh Wed May 18 20:02:35 ===
=== End /root/test.sh Wed May 18 20:03:44 ===
從維基解釋,https://en.wikipedia.org/wiki/Cron
例如,輸入*/5日字段 1後,有時執行,2天或3天,取決於月份和閏年;這是因爲 cron是無狀態的(它不記得上次執行的時間 也不計算它與現在的差異,這是精確的 頻率計數所需的 - 相反,cron僅僅是模式匹配器)。
2-5是星期二到星期五 – BugFinder 2011-05-23 09:03:34
啊真的,對不起這是0的基礎,我解決了我的問題。 – Charbel 2011-05-23 09:40:01