選單

Cronhub 例行性工作排程 Cron 監測服務,在沒有正確執行時發送通知提醒

Cronhub 例行性工作排程 Cron 監測服務,在沒有正確執行時發送通知提醒

如果有維護伺服器的經驗,或是將網站架設於虛擬主機VPS,應該知道 Unix 系統下有個很方便的「例行性工作排程」(Cron)功能,簡單來說,它可以自動執行一些預先排定好要週期性使用的指令,例如備份資料、更新或重新啟動系統等等,只要在 crontab 裡把時間和指令設定好即可,不過時間格式比較特殊,之前我曾介紹「Crontab.guru 快速、簡單的 Cron 排程時間格式編輯器」能方便將時間轉為 Cron 需要的格式,非常好用。

但有另外一個問題:我要怎麼知道 Cron 是不是在我設定的時間成功執行?通常可以從系統紀錄檔(Log)找到執行記錄,但還得自己查記錄似乎也有點麻煩,更重要的是如果我很久之後才發現指定的例行工作排程一直沒有正常執行,那可能就會造成一些問題。

Cronhub

於是有服務針對例行性工作排程 Cron 推出監測工具,Cronhub」可確保所有背景工作都正常執行,一旦沒有在正確時間收到訊號就透過 Email、Slack 或 SMS 等方式發出警報,而它的運作原理其實也很簡單,只要在排程的指令後面加上一段網址,執行例行性工作時順便發出一個 HTTP request 到指定的網址就能確保排程有沒有在指定時間運作。

Cronhub

Cronhub 提供免費和付費方案,免費方案可新增最多兩組的監測工作,Email 和 Slack 警報及每週報告記錄,付費升級可加入更多監測配額,還能有團隊管理或 SMS 簡訊功能,對於一般小型網站而言,免費方案應該就可以滿足使用需求。

網站名稱:Cronhub
網站鏈結:https://cronhub.io/

使用教學

STEP 1

開啟 Cronhub 後點選「Get Started for Free」免費註冊,填入姓名、Email 然後設定密碼就能進入控制台。在 Cronhub 控制台裡有提到建立及啟用監測工具的三步驟,非常容易,當然在此之前你必須要知道怎麼使用 crontab 或編輯伺服器上的工作排程才行。

Cronhub

在排程監測的設定頁面中,最重要的是排程時間和發送警報通知的條件。先從時間部分選擇你的時區「Asia/Taipei」然後加入排程的 Cron,設定後網站會馬上出現下次執行時間,看看是否正確,用以確認你的時區設定有沒有問題。

預設情況下在應該執行排程後五分鐘內 Cronhub 沒有收到訊號就會觸發警報通知,還能設定如果執行時間超過多久就發送警報。

Cronhub

STEP 2

第三個欄位是設定警報通知方式,預設只有 Email,也可加入 Slack,如果要走 Webhooks 或 SMS 簡訊通知必須付費升級;最後欄位就是為監測工作命名,支援中文。

Cronhub

STEP 3

接下來就是 Cronhub 監測工具的重頭戲了!如果要將它直接整合到 crontab,就直接取用底下的指令列,將 your_script.sh 改為你要執行的排程工作指令,當執行時也會順便 ping 監測工具提供的鏈結,用以確保排程有正常運作。

其他還有 PHP、Bash、Node 和 Python 整合 Cronhub 方式,可選擇自己需要的方式。

Cronhub

STEP 4

當排程開始執行後,Cronhub 會顯示工作狀態、最後接收 ping 時間等資訊。

Cronhub

點選進入監測資訊頁面會看到最近接收到的 ping 時間、來源和一些執行排程資訊。

Cronhub

免費方案只能設定兩個監測記錄,如果需要更多監測項目或功能,可考慮付費升級,年繳會比月繳優惠一些,任何付費方案都有免費七天試用,在這之前不會被收費。

Cronhub

值得一試的三個理由:

  1. 可監測排程工作 Cron 有無正常執行的網路服務
  2. 使用方法簡單,無需額外安裝第三方程式
  3. 提供 Email、Slack 和 SMS 簡訊通知
分享本文