1、前言
当我们需要执行一些定时任务的时候,通常会考虑使用Windows的计划任务或者Linux的crontab,但是crontab并不支持可视化操作,简单的任务可以胜任,但是稍微复杂的就不能有效地监控和管理。
本篇文章带给大家一款免费的可视化任务管理工具:jiacrontab
jiacrontab 由 jiacrontab_admin,jiacrontabd 两部分构成,两者完全独立通过 rpc 通信
- jiacrontab_admin:管理后台向用户提供web操作界面
- jiacrontabd:负责job数据存储,任务调度
2、主要功能
- 允许设置每个脚本的超时时间,超时操作可选择邮件通知管理者,或强杀脚本进程。
- 允许设置脚本的最大并发数。
- 一台server管理多个client。
- 每个脚本都可在server端灵活配置,如测试脚本运行,查看日志,强杀进程,停止定时...。
- 允许添加脚本依赖(支持跨服务器),依赖脚本提供同步和异步的执行模式。
- 友好的web界面,方便用户操作。
- 脚本出错时可选择邮箱通知多人。
- 支持常驻任务,任务失败后可配置自动重启。
- 支持管道操作。
3、安装步骤
-
下载项目文件
先将项目文件下载到本地,解压,我们看到两个文件夹:
-
修改配置文件
-
服务端配置文件位于
里面包含了用户名、密码,STMP设置等信息,建议修改。/www/wwwroot/task.soulijian.com/jiacrontab/jiacrontab_admin/jiacrontab_admin.ini
-
客户端配置文件位于
,主要修改默认报警邮件接收人。/www/wwwroot/task.soulijian.com/jiacrontab/jiacrontabd/jiacrontabd.ini
-
-
配置域名解析到服务器ip
-
修改nginx配置
当域名指向到服务器,需要通过nginx转发到本地端口20000的服务上,所以需要修改nginx配置。
添加以下内容到网站的配置文件中
location / { proxy_pass http://localhost:20000; proxy_read_timeout 1800s; proxy_send_timeout 1800s; }
-
开放端口
-
运行
利用宝塔终端或者xshell连接自己的服务器在命令行界面执行运行命令。
#运行服务端 cd /www/wwwroot/task.soulijian.com/server/ nohup ./jiaserver &> server.log & #运行客户端 cd /www/wwwroot/task.soulijian.com/client/ nohup ./jiaclient &> client.log &
默认账号:admin 密码:123456
-
创建守护进程,让其不会自动退出
我们使用Supervisor管理器,没有的可以先安装,新建一个守护进程:
-
服务器进程
运行目录:/www/wwwroot/task.soulijian.com/server/ 启动命令:/www/wwwroot/task.soulijian.com/server/jiaserver &> server.log &
-
客户端进程
运行目录:/www/wwwroot/task.soulijian.com/client/ 启动命令:/www/wwwroot/task.soulijian.com/client/jiaclient &> client.log &
-
4、总结
jiacrontab可以让我们简单直观地管理任务,而且安装起来很简单,而且它是分布式架构,我们可以把server部署在一个地方,并且把client部署在不同的机器上,这样能组装一个高可用的定时任务系统。

评论