架設一個有 Web 介面的 Crontab – Cronicle

前言

我們經常使用 Crontab 來定時執行任務,但懶人如我一直在尋找一個具有圖形化介面,可以管理這些任務的工具。某天偶然讓我看到了 Cronicle 這款工具,他有圖形化介面之外,還可以記錄下 Log,讓你在這些任務出錯的時候,能夠更容易的從 Log 中找到錯誤點。

安裝方式

首先,Cronicle 是基於 Node.js 寫的,我們必須先安裝 npm 以及 Node.js。

apt-get install -y npm nodejs

如果你有需要更新到最新版或是特定版本的需求,可以參考這篇文章:Linux 更新 Node.js 到最新版本。接著我們就來安裝 Cronicle 了!

curl -s https://raw.githubusercontent.com/jhuckaby/Cronicle/master/bin/install.js | node

Cronicle 是可以由多個伺服器組成的,有分為 Primary Server、Backup Server 及 Worker Server。但我們今天文章就只會執行一台,所以他就會是主要的伺服器。在初次設定的時候我們會需要執行以下命令,來設定儲存空間。

/opt/cronicle/bin/control.sh setup

接著使用以下命令啟動 Cronicle。

/opt/cronicle/bin/control.sh start

如果你想更改詳細的設定,則可以編輯 /opt/cronicle/conf/config.json 這個檔案。

開始設定

啟動後,他預設將開在 Port 3012,可以使用瀏覽器打開。預設的帳號密碼都是 admin

001.jpg

登入後,你就會看到主要介面,你可以從右上角 Administrator 的地方更改密碼。

002.jpg

接著我們可以到 Schedule 裡面建立一個新的排程,點擊 Add Event...

003.jpg

接著,你可以幫這個事件取名、類別、設定目標伺服器及 Shell Script,我這邊就隨便寫了,當作測試用。

004.jpg

在下面這些就是看個人調整了,你可以設定多久執行一次或是限制超時的時間。那我這個範例就是每分鐘執行,超時選 1 分鐘。完成後就可以點選最下面的按鈕 Create Event 建立事件囉。

005.jpg

查看成效

開始執行後,你可以在 Completed 這頁看到已經成功或失敗的事件。

006.jpg

點選進一個之後,你可以看到這次事件是否成功、所花時間、CPU 及記憶體使用、Log 等等資訊,可供我們進行除錯。

007.jpg

結語

這對我來說是一個相當方便的工具,以往我都只使用 Linux 內建的那個 Crontab,每次在測試及查看 Log 的時候都好累。現在可以透過這個工具,直接查看每個事件執行後的詳細資訊。