三個開源 Cron 計劃任務可視化應用
Cron是Linux、BSD等Unix類型操作系統(tǒng)中的自動任務調(diào)度程序。Cron用于按計劃的時間間隔(每分鐘、每小時、每天、每周或者每月)自動執(zhí)行腳本或命令??梢宰詣釉诤笈_執(zhí)行腳本任務,實現(xiàn)對系統(tǒng)必要的維護或者執(zhí)行一些重復性的操作。
Cron Jobs可以用來做什么?
Cron作業(yè)用途廣泛,例如:
- 系統(tǒng)維護:自動化系統(tǒng)備份,更新軟件包或清理臨時文件。
- 服務器管理:監(jiān)視服務器運行狀況、重新啟動服務和管理日志循環(huán)。
- 網(wǎng)站管理:運行腳本來更新網(wǎng)站內(nèi)容,生成報告或執(zhí)行數(shù)據(jù)庫備份。
- 數(shù)據(jù)自動化:在服務器之間同步文件,收集數(shù)據(jù)或發(fā)送自動電子郵件。
- 自定義警報:通知用戶特定事件或情況,如服務器停機或安全警報。
Cron Job是如何工作的?
Cron作業(yè)依賴于cron守護進程,這是一個后臺服務,用于檢查計劃任務并在指定時間執(zhí)行它們。可以使用crontab命令(“cron table”的縮寫)創(chuàng)建cron作業(yè)。調(diào)度任務的語法涉及五個時間字段,后跟要執(zhí)行的命令。
比如下面是要在每天凌晨2點運行腳本的配置:
0 2 * * * /path/to/your/script.sh
- 使用命令:crontab -l 可以列出Cron任務。
- 使用命令:crontab -e 可以對任務進行編輯。
顯然,這種通過手動配置的方式,比較繁瑣,并且容易錯誤。
下面,推薦一些開源cron可視化管理器,這些管理器不需要太多的命令行配置,大大方便了Cron的任務管理。
1. Cronicle
https://github.com/jhuckaby/Cronicle
Cronicle是一個多服務器任務調(diào)度器器,提供基于Web的前端UI。它可以針對任意數(shù)量的服務器處理按計劃、重復或者按需執(zhí)行作業(yè),并提供實時數(shù)據(jù)統(tǒng)計和實時日志查看功能。它是一個用Node.js編寫的Cron替代品。你可以給它簡單的shell命令,或者用幾乎任何語言編寫插件。
功能特征:
- 單服務器或多服務器設(shè)置。
- 自動故障切換到備份服務器。
- 自動發(fā)現(xiàn)附近的服務器。
- 使用實時日志查看器查看實時作業(yè)狀態(tài)。
- 插件可以用任何語言編寫。
- 在多個時區(qū)安排活動。
- 可選地,將長時間運行的事件排隊。
- 跟蹤每個作業(yè)的CPU和內(nèi)存使用情況。
- 帶有性能圖表的歷史統(tǒng)計數(shù)據(jù)。
- 插件的簡單JSON消息傳遞系統(tǒng)。
- 用于外部通知系統(tǒng)的Web掛鉤。
- 用于調(diào)度和運行事件的簡單REST API。
- 用于驗證遠程應用的API密鑰。
2. Crontab UI
https://github.com/alseambusher/crontab-ui
Crontab UI提供了一個簡單易用的cron作業(yè)管理方案。使用Crontab UI圖形界面可輕松管理Corn,設(shè)置非常簡單,可以輕松導入現(xiàn)有的crontab條目。該工具簡化了添加、刪除或暫停作業(yè)的過程,使維護數(shù)百個任務變得更加安全和容易。它還支持備份crontab,并允許在不同的機器上導出和部署。
支持錯誤日志,以便于快速調(diào)試出現(xiàn)的問題,支持郵件和事件集成,可以隨時通知管理員作業(yè)狀態(tài)或觸發(fā)其他操作。這些功能使Crontab UI不僅方便,而且對于自動化復雜的計劃也是可靠的。
3. CronKeep
https://github.com/cronkeep/cronkeep
CronKeep是一個基于Web的crontab管理工具,它使團隊能夠查看cron的任務,根據(jù)需要運行作業(yè)任務,以人性化的方式添加新的cron作業(yè),或者暫停cron計劃,并且不需系統(tǒng)管理員級別就可以訪問。
功能特征:
- 按需運行cron作業(yè)
- 以簡單的方式添加新作業(yè)
- Cron作業(yè)調(diào)度
- 更改或刪除現(xiàn)有作業(yè)
- 需要最少的設(shè)置(無數(shù)據(jù)庫依賴)