Crontab.guru 快速、簡單的 Cron 排程時間格式編輯器

Crontab.guru 快速、簡單的 Cron 排程時間格式編輯器
(Photo Credit: Ask Xmodulo / Flickr)

Linux / Unix 系統裡有一個很方便的程式「例行性工作排程」(Crontab),接觸過的朋友一定不陌生,Crontab 主要是讓系統去執行一些固定時間要自動進行的例行性工作,最常用的例如備份資料、移除暫存檔、更新或重新啟動等等,如果將某個週期執行一次的指令寫進 Crontab,它就會隨著系統時間的推移在你指定時間自動執行,減少每次都必須重複執行相同工作的麻煩。

Crontab 有幾種設定方法,最直覺的是在圖形化控制台(例如 cPanel)操作,一般使用者可能會在指令列編輯 /etc/crontab 檔案,但令我困擾的是 Crontab 時間寫法有些複雜,如果沒有參考說明文件就很難寫出正確格式,或者你想要讓排程時間更細部、更有彈性,或許你必須知道怎麼樣以標準格式來描述你要執行某件例行性工作的時間。

最近無意間發現一個很好用的免費工具「Crontab.guru」,它是線上更快速、簡單的排程時間編輯器,無須額外下載安裝任何程式,只要依照 Crontab.guru 欄位設定時間,它除了會以英文來描述這個時間,讓使用者更容易理解外,只要將結果複製、貼入 Crontab 就能設定排程。

Crontab 是一個比較進階的主題,一般使用者不太會碰到,我可能無法利用文字很清楚的說明要介紹的這個線上工具,所以盡量以圖文方式來敘述,或者你可以直接打開以下鏈結使用,可能就會很清楚它的用途。

網站名稱:Crontab.guru
網站鏈結:https://crontab.guru/

使用教學

STEP 1

開啟 Crontab.guru 網站後,主要功能就在網站上方,也就是你看到的那一條可編輯欄位。

Crontab.guru

預設情況每次開啟 Crontab.guru 網站時都會自動跳出一組排程時間寫法,你可以注意看一下每一個數字底下都會有對應的單位,由左至右分別是分鐘、小時、日、月和週,下方還會告訴你這些欄位的表示法,例如可以用 * 代表任何數值、以 , 分隔多個數值等等。

Crontab.guru

STEP 2

前面有說過 Crontab.guru 本身就是一個簡單方便的 Cron job 編輯器,因此使用者可以直接選取數字,將它改成你要的排程時間,在編輯時 Crontab.guru 還會同步在上方「描述」標示出這個數值代表的意思,例如下圖我在編輯的「21」是代表 hour,也就是指晚上九點 。

Crontab.guru

每個欄位都有不同的表達方式,例如加上 , 逗號來分隔多個數值、加上 * 代表任何數值,亦能使用 – 來描述某個區間,修改時底下會告訴你可以使用的數值有那一些。

Crontab.guru

STEP 3

如果要你描述「0 0,12 1 */2 *」代表的時間排程,你或許很難馬上意會過來,Crontab.guru 的好處是它會轉為英文描述顯示於網站上方,我們就能很清楚知道這是指「每兩個月的第一天當日的 0 點、12 點」。

Crontab.guru

若你想知道一些固定的時間寫法範本,Crontab.guru 也有一個「Examples」頁面,裡頭收錄許多範例,例如每小時、每半天、每週、每季或每半年等等,這個網站會是你設定 Cron job 非常好用的參考資料及編輯器。

分享到...