jiacrontab 最初是一款为解决自己在实际生产中定时任务管理不便而开发出的 web 应用。
主要解决了
1.允许设置每个脚本的超时时间,超时操作可选择邮件通知管理者,或强杀脚本进程。
2.允许设置脚本的最大并发数。
3.一台 server 管理多个 client。
4.每个脚本都可在 server 端灵活配置,如测试脚本运行,查看日志,强杀进程,停止定时...。
5.允许添加脚本依赖(支持跨服务器),依赖脚本提供同步和异步的执行模式。
6.友好的 web 界面,方便用户操作。
7.脚本出错时可选择邮箱通知多人。
8.支持常驻任务,任务失败后可配置自动重启。
9.支持管道操作。
后来随着项目迭代又假如了常驻任务的管理
jiacrontab 由 server,client 两部分构成,两者完全独立通过 rpc 通信。
server:向用户提供可视化界面,调度多个 client。
client:实现定时逻辑,隔离用户脚本,将 client 布置于多台服务器上可由 server 统一管理。
每个脚本的定时格式完全兼容 linux 本身的 crontab 脚本配置格式。
1.下载 二进制文件。
2.解压缩进入目录(server,client)。
3.运行
$ nohup ./jiaserver &> server.log &
$ nohup ./jiaclient &> client.log &
1.安装 git,golang ;可参考官网。
2.安装运行
$ cd $GOPATH/src
$ git clone [email protected]:iwannay/jiacrontab.git
$ cd jiacrontab
$ make build
$ cd $GOPATH/src/jiacrontab/server
$ nohup ./jiaserver &> jiaserver.log &
$ cd $GOPATH/src/jiacrontab/client
$ nohup ./jiaclient &> jiaclient.log &
项目地址: https://github.com/iwannay/jiacrontab 项目还很年轻,欢迎大家使用,反馈意见。不要忘记 star 哦