共计 1632 个字符,预计需要花费 5 分钟才能阅读完成。
如果您使用过 Windows 计划任务或 Linux 的 crontab
,那么对“定时任务”这个名词可能并不陌生。简言之就是在设定好的时间去执行一个任务或者根据条件循环的执行一个或多个任务。Linux 下的 crontab 需要通过命令行操作,有了 jiacrontab 就可以通过 WEB 界面来创建计划任务,比直接使用crontab
简单很多。
jiacrontab 主要功能
- 允许设置每个脚本的超时时间,超时操作可选择邮件通知管理者,或强杀脚本进程。
- 允许设置脚本的最大并发数。
- 一台 server 管理多个 client。
- 每个脚本都可在 server 端灵活配置,如测试脚本运行,查看日志,强杀进程,停止定时 …。
- 允许添加脚本依赖(支持跨服务器),依赖脚本提供同步和异步的执行模式。
- 友好的 web 界面,方便用户操作。
- 脚本出错时可选择邮箱通知多人。
- 支持常驻任务, 任务失败后可配置自动重启。
- 支持管道操作。
运行原理
- jiacrontab 由 server,client 两部分构成,两者完全独立通过 rpc 通信。
- server:向用户提供可视化界面,调度多个 client。
- client:实现定时逻辑,隔离用户脚本,将 client 布置于多台服务器上可由 server 统一管理。每个脚本的定时格式完全兼容 linux 本身的 crontab 脚本配置格式。
Linux 安装 jiacrontab
jiacrontab 使用 golang 开发,作者已经提供编译好的二进制包,直接下载解压使用,非常方便。
# 安装 unzip
yum -y install unzip
#下载 jiacrontab
wget https://jiacrontab.iwannay.cn/download/jiacrontab-v1.4.5-linux-amd64.zip
#如果下载速度过慢,可替换为 xiaoz 软件库地址
wget http://soft.xiaoz.org/linux/jiacrontab-v1.4.5-linux-amd64.zip
#解压
unzip jiacrontab-v1.4.5-linux-amd64.zip
#运行服务端
cd app/jiacrontab/server
nohup ./jiaserver &> jiaserver.log &
#运行客户端
cd app/jiacrontab/client
nohup ./jiaclient &> jiaclient.log &
放行端口,jiacrontab 服务端和客户端监听了20000 - 20003
,输入下面的命令放行:
#firewalld 放行端口
firewall-cmd --zone=public --add-port=20000-20003/tcp --permanent
firewall-cmd --reload
#如果使用的 iptables
iptables -I INPUT -p tcp --dport 20000 -j ACCEPT
iptables -I INPUT -p tcp --dport 20001 -j ACCEPT
iptables -I INPUT -p tcp --dport 20002 -j ACCEPT
iptables -I INPUT -p tcp --dport 20003 -j ACCEPT
iptables save
service iptables restart
然后访问http://IP:20000
就可以看到 jiacrontab WEB 界面了,初始用户名为admin
,密码为123456
配置文件
- 服务端配置文件位于
server/server.ini
里面包含了用户名、密码,STMP 设置等信息,建议修改。 - 客户端配置文件位于
client/client.ini
,主要修改默认报警邮件接收人。 - 修改后需要 kill 杀掉对应进程,然后重新用
nohup
命令重新运行。
其它说明
- Demo:https://jiacrontab.iwannay.cn/login,用户名:
admin
,密码:123456
- Github 项目地址:https://github.com/iwannay/jiacrontab
正文完
星哥玩云-微信公众号