Gocron定时任务管理系统安装

部署环境说明

操作系统:CentOS release 7.8.2003
Gocron Version:>v1.5.3
Mysql Version:5.5

Gocron 说明

_**<font style="background-color:rgb(51, 65, 85);">gocron</font>**_ 是使用 _**<font style="background-color:rgb(51, 65, 85);">go</font>**_ __语言开发的轻量级定时任务集中调度和管理系统, 可以用于替代 linux-crontab。

项目 github 地址

manage 端安装配置

在 Gocron 中数据的存储是放置在__ _**<font style="background-color:rgb(51, 65, 85);">mysql</font>**_ __数据库中的,我们这里需要配置一下 MySQl 的使用环境及权限。如果数据库已经事先安装,那么就只需要添加对应的库和用户使用权限即可。

手动使用二进制进行安装

  • 下载对应版本安装包
wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz # 下载对应压缩包

# 解压 复制文件到指定文件夹下 进行使用
tar xf gocron-v1.5.3-linux-amd64.tar.gz  
cd gocron-linux-amd64/
\cp -a gocron /usr/local/bin/

gocron -v
  • 配置为服务并设置自启动

管理端启动后,服务默认监听端口是在__ _**<font style="background-color:rgb(51, 65, 85);">tcp</font>**_ 至上的 _**<font style="background-color:rgb(51, 65, 85);">5920</font>**_ __端口

mkdir -p /application/gocron-manage
cat > /usr/lib/systemd/system/gocron-manage.service << EOF
[Unit]
Description=gocron web manage
Documentation=https://github.com/ouqiang/gocron
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/gocron web
Restart=on-failure
WorkingDirectory=/application/gocron-manage

[Install]
WantedBy=multi-user.target
EOF
  • 启动 manage 端并设置开机自启动
systemctl start gocron-manage.service \
&& systemctl status gocron-manage.service \
&& systemctl enable gocron-manage.service

数据库的连接初始化

  • 创建程序连接数据库的对应用户使用权限
CREATE DATABASE `gocron` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; # 创建 程序连接数据库

grant all on `gocron`.* to cron_app@'%' identified by 'xMPJ8Xkv1'; # 创建程序使用用户,并将对应库权限授予此用户进行使用

flush privileges;

agent/node 端安装配置

手动使用二进制进行安装

  • 安装准备
wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz # agent

tar xf gocron-node-v1.5.3-linux-amd64.tar.gz \
&& cd gocron-node-linux-amd64 \
&& cp gocron-node /usr/local/bin  # 添加至环境变量中

gocron-node --version # 测试效果
  • 配置为服务并设置开机自启动
mkdir -p /application/gocron-agent
cat > /usr/lib/systemd/system/gocron-agent.service << EOF
[Unit]
Description=gocron agent/node server
Documentation=https://github.com/ouqiang/gocron
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/gocron-node -allow-root
WorkingDirectory=/application/gocron-agent
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

# 设置开机自启动
systemctl start gocron-agent.service \
&& systemctl status gocron-agent.service \
&& systemctl enable gocron-agent.service

注意agent端 默认监听在 tcp 协议上的 5921 (–help 查看帮助文档 修改端口)

问题记录

日志提示主机名称过长

具体日志表现如下所示:

  • 解决方法,就是更改对应 **<font style="color:rgb(34, 211, 238);background-color:rgb(51, 65, 85);">表结构</font>**,进行解决。
ALTER TABLE cron_task_log MODIFY hostname text NOT NULL ;

参考链接:https://www.treesir.pub/post/gocron-install/

posted @ 2025-07-01 16:27  youemby  阅读(74)  评论(0)    收藏  举报