linux安装 jiacrontab 管理定时任务

自己有几个需要定时运行的爬虫,用不到诸如 pyspider 之类的爬虫框架,但是又觉得 crontab 不太直观。所以找到了 jiacrontab,自带 web 界面,使用 Go 语言开发。

提供可视化界面的定时任务&常驻任务管理工具。

功能

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

说明

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

界面截图

下载安装并运行

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

最新版下载地址:https://jiacrontab.iwannay.cn/download/

$ 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 &

之后,可以在浏览器中输入 http://YourServerIP:20000 进行访问。默认用户名为 admin,密码是 123456

设置开机自启动

方法一:

/etc/init.d 新建开机启动脚本,命名为 jiacrontab

$ vi /etc/init.d/jiacrontab

# 输入以下内容,:wq 保存

#!/bin/bash
### BEGIN INIT INFO
# Provides:          uznEnehC
# Required-Start:    $network $remote_fs $local_fs
# Required-Stop:     $network $remote_fs $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: jiacontab
# Description:       jiacontab startup
### END INIT INFO
cd root/jiacrontab/server # 假设之前下载到 root 文件夹,根据自身情况修改
nohup ./jiaserver &> jiaserver.log &
cd .. && cd client
nohup ./jiaclient &> jiaclient.log &
exit 0

给予脚本相应的权限

$ chmod 777 /etc/init.d/jiacrontab

设置开机启动

$ update-rc.d jiacrontab defaults
# update-rc.d -f jiacrontab remove # 删除开机启动,添加 -f 参数强制删除
方法二:

新建客户端service

vi /etc/systemd/system/jiaclient.service

写入如下代码

[Unit]
Description=jiacrontab

[Service]
User=root
Group=root
Type=simple
ExecStart=/data/app/jiacrontab/client/jiaclient
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=control-group
Restart=on-failure
GuessMainPID=yes
WorkingDirectory=/data/app/jiacrontab/client/
PIDFile=/data/app/jiacrontab/client/jiaclient.pid
RestartSec=15

[Install]
WantedBy=multi-user.target

新建服务端service

vi /etc/systemd/system/jiaserver.service
[Unit]
Description=jiacrontab

[Service]
User=root
Group=root
Type=simple
ExecStart=/data/app/jiacrontab/server/jiaserver
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=control-group
Restart=on-failure
GuessMainPID=yes
WorkingDirectory=/data/app/jiacrontab/server/
PIDFile=/data/app/jiacrontab/server/jiaserver.pid
RestartSec=15

[Install]
WantedBy=multi-user.target

启动jiacrontab以及设置开机启动:

systemctl start jiaclient
systemctl enable jiaclient

systemctl start jiaserver
systemctl enable jiaserver

 上一篇
宝塔全站开启https并达到A+ 宝塔全站开启https并达到A+
由于现在Google浏览器提示非https的网站为不安全,为了使网站的https达到A+可谓费劲苦心。下边说一下全站开启https的过程吧。 证书申请这个东西看自己哪里申请都行,现在免费的证书大部分用的都是Let’s Encrypt(90天
2019-08-21
下一篇 
网站加速 JS 脚本 instant.page 网站加速 JS 脚本 instant.page
有一项技术叫做 prefetch,这个技术,其实说白了,就是一项预加载技术,当用户有意向访问某个页面之前,浏览器首先对此页面进行预加载,当用户真正点击链接后,会从预加载的缓存中直接读取页面内容,缩短页面的加载时间。 而如何来使用这项技术?其
2019-08-11
  目录