linux定時任務調度定系統——opencron
https://gitee.com/terrytan/opencron/#%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83
一個功能完善真正通用的linux定時任務調度定系統,滿足多種場景下各種復雜的定時任務調度,同時集成了linux實時監控,webssh,提供一個方便管理定時任務的平台.
你是否有定時執行任務計划的需求,需要在linux的crontab里一一定義任務?
- 需要在每台linux服務器的crontab里一一定義任務
- 任務的執行監控太不方便了
- 得登錄到每台機器查看定時任務的運行結果,機器一多簡直是一種災難
- 對於多台機器協同處理一個任務很麻煩,如何保證多台機器上的任務按順序依次執行?
- 當任務運行失敗,要重新執行,還得重新定義下執行時間,讓其重跑,重跑完成了還得改回正常時間
- 正在運行的任務要kill掉很麻煩,查看進程然后才能kill ......
opencron的出現將徹底的解決上面所有問題.功能如下:
Tomcat server 7.0 or greater https://tomcat.apache.org
Browser IE10+
部署環境:
Centos 7.2 x86_64
JDK 7.0.79
Tomcat 7.0.68
客戶端:
192.168.145.121
192.168.145.122
opencron分為兩個opencron-server端和opencron-agent端,opencron-server端即為一個web可視化的中央管理調度平台,opencron-agent為要管理的任務的機器,每個要納入中央統一管理的機器都必須安裝opencron-agent, opencron-agent在要管理的服務器中安裝執行完后,可以直接在opencron-server添加當前的機器.
opencron-agent 安裝步驟
1) 下載源碼,並進行
編譯:
# git clone https://github.com/wolfboys/opencron.git
# cd opencron
# sh build.sh
[INFO] opencron ........................................... SUCCESS [01:48 min]
[INFO] opencron-common .................................... SUCCESS [02:11 min]
[INFO] opencron-agent ..................................... SUCCESS [ 51.155 s]
[INFO] opencron-server .................................... SUCCESS [01:42 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 06:34 min
[INFO] Finished at: 2017-11-30T09:47:55+08:00
[INFO] Final Memory: 47M/256M
[INFO] ------------------------------------------------------------------------
[opencron] build opencron @ Version 1.1.0-RELEASE successfully! please goto /root/opencron/dist
編譯完成的文件在build/dist下
2) 部署agent,將opencron-agent-1.1.0-RELEASE.tar.gz包拷貝到要管理任務的目標服務器,解包后會看到以下目錄
# tar zxf opencron-agent-1.1.0-RELEASE.tar.gz
---bin/
| startup.sh #agent的啟動腳本,調用的是opencron.sh來完成
| shutdown.sh #agent停止腳本,調用的是opencron.sh來完成
| opencron.sh #agent控制啟動|停止的腳本
| monitor.sh #實時監控獲取數據需要的腳本,由系統調度
| kill.sh #kill任務時需要的腳本,由系統調度
---conf/
| log4j.properties #log4j配置文件
---lib/
| *.jar #agent運行需要的jar文件
---temp/
| *.sh #用於存放項目生成的零時文件的目錄
---logs
| opencron.out #項目啟動會產生的Log文件
3) 啟動opencron-agent 進入opencron-agent/bin
> cd opencron-agent/bin
> sh startup.sh
這里可以接受兩個參數,分別是服務啟動的端口和密碼,默認端口是:1577,默認密碼:opencron
如要指定參數啟動命令如下:
> sh startup.sh -P10001 -p123456
參數說明:
-P (大寫的p)為agent啟動的端口,選填,如果不輸入默認啟動端口是1577
-p (小寫的p)為當前agent的連接密碼,選填,如果不輸入默認連接該機器的密碼是opencron
更多詳細的啟動信息請查看logs/opencron.out
4) 停止opencron-agent 進入opencron-agent/bin 執行:
> cd opencron-agent/bin
> sh shutdown.sh
opencron-server 部署步驟
1) 編譯好項目源碼,找到 build/dist/opencron-server.war
2) 更改項目的mysql連接信息,mysql的配置在config.properties里,更改即可:
如:
--mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.145.213:3306/opencron?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456
3) 發布到tomcat或者其他的web服務器啟動即可.第一次會自動創建表。
提示:默認初始用戶名opencron,密碼opencron,第一次登陸會提示修改密碼.
4) tomcat發布項目步驟:
tomcat部署有兩種部署方式
1):直接部署到webapps下:
1:下載tomcat8或者以上版本(http://tomcat.apache.org)
2:解壓tomcat,刪除webapps目錄下的全部文件
> rm -rf ${tomcat_home}/webapps/*
3:在webapps下新建ROOT文件夾
> mkdir ${tomcat_home}/webapps/ROOT
4:將war解包到ROOT下並刪除war文件(注意解包完畢一定要刪除war包)
> mv server.war ${tomcat_home}/webapps/ROOT
> cd ${tomcat_home}/webapps/ROOT
> jar -xvf server.war
> rm -rf server.war
5:更改jdbc配置信息
> vi ${tomcat_home}/webapps/ROOT/WEB-INF/classes/config.properties
6:完成啟動
2):通過配置server.xml外部指向
1:將war包解壓到指定的路徑,如 /data/www/opencron,並刪除war包
2:更改jdbc配置文件
vi /data/www/opencron/WEB-INF/classes/config.properties
3:進入tomcat的conf中修改server.xml配置文件
下面附上我的完整的server.xml配置:
添加服務器,如下圖

添加任務計划,如下圖:

任務執行狀態,如下圖:

服務器資源監控,如下圖:
