Rat's

Jiacrontab:一个带Web面板的定时任务&常驻后台管理工具
说明:我们一般使用程序的时候,很多都需要使用定时任务来按时重启/执行应用,还有的也需要让程序一直常驻后台,对这类要...
扫描右侧二维码阅读全文
24
2018/11

Jiacrontab:一个带Web面板的定时任务&常驻后台管理工具

说明:我们一般使用程序的时候,很多都需要使用定时任务来按时重启/执行应用,还有的也需要让程序一直常驻后台,对这类要求使用的基本上是crontabSystemctl/Supervisor,不过对于很多人来说配置挺麻烦的,这里就分享一个带Web面板的定时任务&常驻后台工具,可以很方便设置定时任务和常驻后台操作,也可以同时管理多台服务器,很强大,使用起来很方便。

截图

请输入图片描述
请输入图片描述

功能

  • 允许设置每个脚本的超时时间,超时操作可选择邮件通知管理者,或强杀脚本进程。
  • 允许设置脚本的最大并发数。
  • 一台server管理多个client
  • 每个脚本都可在server端灵活配置,如测试脚本运行,查看日志,强杀进程,停止定时等。
  • 允许添加脚本依赖(支持跨服务器),依赖脚本提供同步和异步的执行模式。
  • 友好的web界面,方便用户操作。
  • 脚本出错时可选择邮箱通知多人。
  • 支持常驻任务,任务失败后可配置自动重启。
  • 支持管道操作。

原理

jiacrontab由server,client两部分构成,两者完全独立通过rpc通信。
server:向用户提供可视化界面,调度多个client。
client:实现定时逻辑,隔离用户脚本,将client布置于多台服务器上可由server统一管理。 每个脚本的定时格式完全兼容linux本身的crontab脚本配置格式。

安装

Github地址:https://github.com/iwannay/jiacrontab

1、安装依赖

#CentOS系统
yum -y install unzip

#Debian/Ubuntu系统
apt install unzip -y

2、运行Jiacrontab
先访问该地址→传送门,根据操作系统获取最新版本的Jiacrontab下载地址,然后使用命令:

#下载jiacrontab
wget https://jiacrontab.iwannay.cn/download/jiacrontab-v1.4.5-linux-amd64.zip
#解压
unzip jiacrontab-v1.4.5-linux-amd64.zip
#进入服务端文件夹并运行服务端
cd jiacrontab/server
nohup ./jiaserver &> jiaserver.log &
#进入客户端文件夹并运行客户端
cd .. && cd client
nohup ./jiaclient &> jiaclient.log &

然后还需要开放20000-20003端口,使用命令:

#CentOS 7
firewall-cmd --zone=public --add-port=20000-20003/tcp --permanent
firewall-cmd --reload

#CentOS 6(一般情况下,Debian和Ubuntu不需要开启,如果访问不了Web就需要开启了)
iptables -A INPUT -p tcp -dport 20000:20003 -j ACCEPT
iptables save
service iptables restart

然后访问http://IP:20000就可以看到jiacrontab WEB界面了,初始用户名为admin,密码为123456

配置文件

服务端配置文件:server/server.ini,可以在里面修改用户名、密码,邮箱,允许使用的命令等信息。
客户端配置文件:client/client.ini ,可以修改报警邮箱,开启日志及连接服务端地址。

使用说明

#基本使用
1、定时任务
超时设置和超时操作
超时后会进行设置的超时操作 默认值为0 不判断超时

2、最大并发数
最大并发数 控制 同时有几个脚本进程
默认最大并发数为1,若不设置超时时间,当定时任务第二次执行时,若上一次执行还未完成
则会kill上一个脚本,进行本次执行。
防止脚本无法正常退出而导致系统资源耗尽

3、添加依赖
依赖就是用户脚本执行前,需要先执行依赖脚本,只有依赖脚本执行完毕才会执行当前脚本。
并发执行:并发执行依赖脚本,任意一个脚本出错或超时不会影响其他依赖脚本,但是会中断用户脚本
同步执行:同步执行依赖脚本,执行顺序为添加顺序,如果有一个依赖脚本出错或超时,则会中断后继依赖,以及用户脚本

脚本异常退出通知 如果脚本退出码不为0,则认为是异常退出

#常驻任务
常驻任务检查脚本进程是否退出,如果退出再次重启,保证脚本不停运行
其他同 定时任务
Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2018 年 11 月 24 日 12 : 44 PM

发表评论

12 条评论

  1. 胡先生

    博主服务端已经架设好了,但是其他客户端如何加入这个服务端,也没找到相关文档,摸索半天也没弄成,有空帮忙指点一下。还有他更新到2.0版本,不知道如何部署,你抽空可以研究一下

    1. Rat's
      @胡先生

      2.0版本的我有空更新下。

  2. bensoner

    请问下,怎么添加多个client的IP,也是在client.ini文件里面?有没有教程?

    1. bensoner
      @bensoner

      还有,jiacrontab的重启等命令?

      1. Rat's
        @bensoner

        多ip应该都是在配置文件配置,重启的话,这个是go程序,你直接断开程序,再启动,或者自己使用Systemctl搞一个启动管理。负责启动,重启,查看状态命令

  3. bensoner

    执行的命令是不是只有php,node,curl,wget,grep这几个?可以自己定义么?

    1. Rat's
      @bensoner

      可以定义,去server/server.ini文件修改就行。

  4. lwc

    大佬,请问想学这类东西的开发,需要哪些基础和语言?应该搜什么关键词?

    1. Rat's
      @lwc

      关键词:Golang。

  5. 奥兹说钱

    好东西

  6. 罂粟般的女人

    为什么不直接用宝塔呢?

    1. Rat's
      @罂粟般的女人

      还是有很多人不喜欢用宝塔的,有些时候也不适合用宝塔。