date: 2020-09-20title: jiacrontab——集中化管理计划任务 #标题
tags: jiacrontab #标签
categories: linux大杂烩 # 分类
发现个新鲜玩意,用于集中化管理任务计划,项目地址: 码云。
官方文档内容较少,也可能是此项目上手比较简单的问题吧,还是用一篇文章来写下这个小东西。
部署jiacrontab-admin
# 下载
$ wget https://jiacrontab.iwannay.cn/download/jiacrontab-v2.0.5-linux-amd64.zip
# 解压
$ unzip jiacrontab-v2.0.5-linux-amd64.zip -d /opt/
# 查看解压后的文件
$ cd /opt/jiacrontab/
$ ls
jiacrontab_admin jiacrontabd
# 其中,我们只需要jiacrontab_admin这个目录
# 而jiacrontabd这个是客户端,要在所有接入jiacrontab-admin的节点上部署
# 进入admin目录
$ cd /opt/jiacrontab/jiacrontab_admin/
# 修改配置文件(也可以保持默认)
$ egrep -v '^;|^$' jiacrontab_admin.ini # 修改如下
[app]
http_listen_addr = 0.0.0.0:20000 # web访问端口
rpc_listen_addr = :20003 # 与client端通信端口
app_name = jiacrontab
signing_key = `WERRTT1234$@#@@$`
log_level = warn
max_client_alive_interval = 30
[jwt]
signing_key = eyJhbGciOiJIUzI1
expires = 3600
name = token
[mail] # 自行配置下mail相关配置
enabled = true
host = smtp.163.com:25
user = lv916551516@163.com
skip_verify = true
passwd = xxxxxx
from = lv916551516@163.com
use_certificate = false
[database]
driver_name = sqlite3
dsn = data/jiacrontab_admin.db?cache=shared
# 准备systemd文件(如果你的程序部署部署在/opt目录下,那么请自行修改相关路径)
# 非必须,亦可以将/opt/jiacrontab/jiacrontab_admin/jiacrontab_admin 命令直接放到后台运行。
$ cat > /usr/lib/systemd/system/jiacrontab_admin.service << EOF
[Unit]
Description=jiacrontab_admin service
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
User=root
Group=root
ProtectSystem=full
WorkingDirectory=/opt/jiacrontab/jiacrontab_admin
ExecStart=/opt/jiacrontab/jiacrontab_admin/jiacrontab_admin
KillMode=process
KillSignal=SIGTERM
SendSIGKILL=no
Restart=on-abort
RestartSec=5s
UMask=007
EOF
# 启动jiacrontab管理端
$ systemctl daemon-reload
$ systemctl start jiacrontab_admin
# 确认端口在监听
$ ss -lnput | egrep '20000|20003'
tcp LISTEN 0 128 *:20003 *:* users:(("jiacrontab_admi",pid=16563,fd=5))
tcp LISTEN 0 128 :::20000 :::* users:(("jiacrontab_admi",pid=16563,fd=6))
部署jiacrontab-client端
$ cd /opt/jiacrontab/jiacrontabd/
$ egrep -v '^;|^$' jiacrontabd.ini # 修改配置文件如下
# 其实在配置文件中的注释已经用中文解释的很清楚了,自己看着改吧
[jiacrontabd]
verbose_job_log = true
listen_addr = :20001
boardcast_addr = 192.168.20.10:20001
admin_addr = 192.168.20.10:20003
auto_clean_task_log = true
log_level = warn
log_path = ./logs
user_agent = jiacrontabd
driver_name = sqlite3
dsn = data/jiacrontabd.db?cache=shared
client_alive_interval = 10
# 准备systemd文件(同样,如果你的jiacrontab不是在/opt目录下,那么自己看着改吧)
# 非必须,亦可以将/opt/jiacrontab/jiacrontabd/jiacrontabd 命令直接放到后台运行。
$ cat > /usr/lib/systemd/system/jiacrontabd.service << EOF
[Unit]
Description=jiacrontabd service
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
User=root
Group=root
ProtectSystem=full
WorkingDirectory=/opt/jiacrontab/jiacrontabd
ExecStart=/opt/jiacrontab/jiacrontabd/jiacrontabd
KillMode=process
KillSignal=SIGTERM
SendSIGKILL=no
Restart=on-abort
RestartSec=5s
UMask=007
EOF
# 启动jiacrontab客户端
$ systemctl daemon-reload
$ systemctl start jiacrontabd
# 确认端口在监听
$ ss -lnptu | grep 20001
tcp LISTEN 0 128 *:20001 *:* users:(("jiacrontabd",pid=16624,fd=6))
至此,程序就部署完了,之后如果需要管理多个机器的计划任务,只需在被管理端,按照上面过程,装上jiacrontab-client端即可。(clinet端和admin端,都是在文中开头的wget链接中下载的,下载后解压即可看到admin端和客户端)。
访问admin管理页面
访问adminIP+20000端口,即可看到如下页面:
以下是第一次登录,初始化一个账号和密码(自定义即可),以及邮箱信息。
然后就可以看到其登录页了,如下(输入刚刚初始化时创建的账号和密码进行登录即可):
别说,这个登录首页做的还是蛮骚气的。
欧克,登录上来了,如下:
好了,至此也算初见成效了,剩下的自己玩吧。