- 博客/
Gocron 实践安装,实现统一定时任务管理平台
作者
Johny
熟练的 云原生搬砖师
Table of Contents
部署环境说明#
- 操作系统:
CentOS release 7.8.2003
- Gocron Version:
v1.5.3
- Mysql Version:
5.5
Gocron 说明#
gocron
是使用go
语言开发的轻量级定时任务集中调度和管理系统, 可以用于替代 linux-crontab。
manage 端安装配置#
在 Gocron 中数据的存储是放置在
mysql
数据库中的,我们这里需要配置一下 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
配置为服务并设置自启动
管理端启动后,服务默认监听端口是在
tcp
至上的5920
端口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 查看帮助文档 修改端口)
问题记录#
日志提示主机名称过长#
具体日志表现如下所示:
解决方法,就是更改对应
表结构
,进行解决。ALTER TABLE cron_task_log MODIFY hostname text NOT NULL ;
To Do#
相关文章
Centos7 安装之后必要的初始化操作
·1349 字·3 分钟·
linux
centos
centos7
docker
linux
使用 Docker-Compose 部署 openConnect Vpn Server
·793 字·2 分钟·
linux
network
openconnect
docker-compose
openldap
Git 使用问题的记录
·322 字·1 分钟·
devops
linux
git
OpenVpn 的安装,并配置关联 openLdap 认证
·953 字·2 分钟·
linux
network
openvpn
install
Centos7 执行 shutdown 无法正常关机的解决
·468 字·1 分钟·
linux
centos7
shell
Raid 阵列卡 Megacli 管理工具的使用记录
·211 字·1 分钟·
linux
raid
stroage