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