自动定时任务Cronicle安装部署

简介

Cronicle是一款基于网页前端界面的多服务器任务调度与执行系统。它能够处理定时任务、循环任务以及即时任务,可面向任意数量的工作服务器,提供实时统计数据和动态日志查看功能。本质上,这是一款采用Node.js编写的增强版Cron替代工具。用户既可以为其配置简单的Shell命令,也能用几乎任何编程语言编写插件。

项目地址:jhuckaby/Cronicle: A simple, distributed task scheduler and runner with a web based UI.

image

安装

前提要先安装Node.js的LTS(长期支持)版本。

之后可以进行手动安装(以默认目录为例):

mkdir -p /opt/cronicle
cd /opt/cronicle
# 将下面的v1.0.0修改为最新的GitHub release版本
curl -L https://github.com/jhuckaby/Cronicle/archive/v1.0.0.tar.gz | tar zxvf - --strip-components 1
npm install
node bin/build.js dist

首次安装主要设置

/opt/cronicle/conf/config.json文件中的配置内容:

  • base\_app\_url:修改为服务器IP:端口号
  • email\_from:发送通知邮件时使用的"发件人"邮箱地址。
  • secret\_key:在多个服务器配置环境下(见下文),所有服务器必须共享相同的密钥。任何随机生成的字符串均可使用。
  • job\_memory\_max:每个任务的默认最大内存限制
  • http\_port:管理后台的网络服务器端口号,默认为3012。

主从节点初始化与启动

# 初始化存储系统
/opt/cronicle/bin/control.sh setup

注意:默认情况下,当你运行上述安装脚本时,当前服务器会被归入"主节点组",这意味着它是唯一有资格成为主节点的服务器。若后续在其他服务器上安装Cronicle,这些服务器将仅作为工作节点运行。工作节点不要运行bin/control.sh setup脚本。只需复制您的conf/config.json文件,然后启动服务即可。

# 启动网页访问服务
/opt/cronicle/bin/control.sh start

下面,可以访问IP:端口号默认是3012访问前端管理页面了,默认用户名密码均为:admin。

可以在"Admin - Servers"中添加工作节点服务器。

image

一些其他控制命令

# 停止服务
/opt/cronicle/bin/control.sh stop
# 重启服务
/opt/cronicle/bin/control.sh restart
# 检查服务状态
/opt/cronicle/bin/control.sh status
# 数据导出
/opt/cronicle/bin/control.sh export /backup/cronicle-data.txt
# 数据导入
/opt/cronicle/bin/control.sh import /backup/cronicle-data.txt

多服务器集群注意事项

高可用集群部署

# 节点1(主节点)
CRONICLE_MASTER=1 CRONICLE_NODE_IP=192.168.1.100 ./bin/control.sh start

# 节点2(工作节点)
CRONICLE_WORKER=1 CRONICLE_NODE_IP=192.168.1.101 CRONICLE_MASTER=192.168.1.100 ./bin/control.sh start

# 节点3(工作节点)
CRONICLE_WORKER=1 CRONICLE_NODE_IP=192.168.1.102 CRONICLE_MASTER=192.168.1.100 ./bin/control.sh start
  • 所有服务器都应具有完全相同的配置文件
  • 服务器主机名决定了哪台服务器成为主服务器的优先级(按字母顺序排序)
  • 如果必须更改任何服务器IP地址,需要先将它们从集群中移除,然后重新添加
最后修改:2026 年 01 月 04 日
如果觉得我的文章对你有用,请随意赞赏