提供可视化界面的定时任务&常驻任务管理工具
jiacrontab由server,client两部分构成, 两者完全独立通过rpc通信。
server:向用户提供可视化界面, 调度多个client。
client:实现定时逻辑, 隔离用户脚本, 将client布置于多台服务器上可由server统一管理。
每个脚本的定时格式完全兼容linux本身的crontab脚本配置格式。
1.允许设置每个脚本的超时时间, 超时操作可选择邮件通知管理者, 或强杀脚本进程。
2.允许设置脚本的最大并发数。
3.一台server管理多个client。
4.每个脚本都可在server端灵活配置, 如测试脚本运行, 查看日志, 强杀进程, 停止定时...。
5.允许添加脚本依赖(支持跨服务器), 依赖脚本提供同步和异步的执行模式。
6.友好的web界面, 方便用户操作。
7.脚本出错时可选择邮箱通知多人。
8.支持常驻任务, 任务失败后可配置自动重启。
9.支持管道操作。
github地址:
https://github.com/iwannay/jiacrontab
下载地址:
https://jiacrontab.iwannay.cn/download/
二进制安装
1.下载二进制文件。
> # wget https://jiacrontab.iwannay.cn/download/jiacrontab-v1.4.5-linux-amd64.zip
2.解压缩进入目录(server,client)。
> # unzip jiacrontab-v1.4.5-linux-amd64.zip
> # cd jiacrontab
> # ls
client server
3.运行
> # cd server
> # nohup ./jiaserver &> server.log &
> # cd ../client
> # nohup ./jiaclient &> client.log &
源码安装
1.安装git, golang(version 1.11.x): 可参考官网。
2.安装运行
> # cd $GOPATH/src
> # git clone git@github.com:iwannay/jiacrontab.git
> # cd jiacrontab
> # make build
> # cd app/jiacrontab/server
> # nohup ./jiaserver &> jiaserver.log &
> # cd app/jiacrontab/client
> # nohup ./jiaclient &> jiaclient.log &
开放端口
firewall-cmd --permanent --zone=public --add-port=20000-20003/tcp
firewall-cmd --reload
浏览器访问 host:port (eg: localhost:20000) 即可访问可视化界面
http://192.168.199.130:20000
配置文件
服务端配置文件 server.ini
;允许使用的command 可以在后面添加自己的command,用逗号隔开
allow_commands = php,/usr/local/bin/php,python,node,curl,wget,sh,uname,grep,cat,sleep
客户端配置文件 client.ini
; pprof 监听地址
pprof_addr = :20002
; 本机rpc监听地址
listen= :20001
; 推送给server的地址 host:port 在可视化界面展示
; 写本机IP推送给server之后 server记录下这个ip, server发送请求通过此地址
local_addr = localhost:20001
; server 地址 服务器 host:port 除非在同一台机器部署双端 否则需要更改
server_addr =localhost:20003
; 日志目录
dir = logs
; 自动清理大于一个月或者单文件体积大于1G的日志文件
clean_task_log = true