操作系统 / 系统运维

定时任务管理系统—Gocron安装部署与使用

浅时光 · 7月5日 · 2020年 · 9050次已读

一、程序介绍


项目地址文章来源(Source):https://www.dqzboy.com文章来源(Source):https://www.dqzboy.comhttps://github.com/ouqiang/gocron

使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab

二、功能特性


  • Web界面管理定时任务
  • crontab时间表达式, 精确到秒
  • 任务执行失败可重试
  • 任务执行超时, 强制结束
  • 任务依赖配置, A任务完成后再执行B任务
  • 账户权限控制
  • 任务类型
    • shell任务
      • 在任务节点上执行shell命令, 支持任务同时在多个节点上运行
    • HTTP任务
      • 访问指定的URL地址, 由调度器直接执行, 不依赖任务节点
  • 查看任务执行结果日志
  • 任务执行结果通知, 支持邮件、Slack、Webhook

支持平台

Windows、Linux、Mac OS

文章来源(Source):https://www.dqzboy.com

三、安装部署

1、安装MySQL

1.1:下载安装

  • 需要下载以下几个包文件

mysql-communi文章来源(Source):https://www.dqzboy.comty-文章来源(Source):https://www.dqzboy.comservermysql-community-clientmysql-community-commonmysq文章来源(Source):https://www.dqzboy.coml-community-libs

定时任务管理系统—Gocron安装部署与使用-浅时光博客
  • 将下载的包文件上传到服务器,然后安装
[[email protected] ~]# rpm -ivh mysql-community*

1.2:启动服务

[[email protected] ~]# systemctl start mysqld.service
[[email protected] ~]# systemctl enable mysqld.service

1.3:重置密码

[[email protected] ~]# cat /var/log/mysqld.log | grep 'password'
[[email protected] ~]# mysql -uroot -p

##密码验证策略低要求
mysql> set global validate_password_policy=0; (0或LOW代表低级)
##密码至少要包含的小写字母个数和大写字母个数
mysql> set global validate_password_mixed_case_count=0;

##密码至少要包含的数字个数。
mysql> set global validate_password_number_count=0; 

##密码至少要包含的特殊字符数
mysql> set global validate_password_special_char_count=0; 

##密码长度
mysql> set global validate_password_length=3;

##再次设置密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

1.4:创建数据库文章来源(Source):https://www.dqzboy.com

mysql> CREATE DATABASE `gocron` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

2、安装gocron

定时任务管理系统—Gocron安装部署与使用-浅时光博客

2.1:安装Go环境

  • 因为gocron是go语言开发的,运行需要使用到go环境
[[email protected] ~]# go env
-bash: go: 未找到命令

[[email protected] ~]# yum install golang

2.2:下载安装程序

[[email protected] ~]# wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-v1.5.3-linux-amd64.tar.gz
[[email protected] ~]# tar -zxvf gocron-v1.5.3-linux-amd64.tar.gz -C /usr/local/

2.3:启动服务程序

[[email protected] ~]# cd /usr/local/gocron-linux-amd64
[[email protected] gocron-linux-amd64]# nohup ./gocron web >/tmp/gocron.log 2>&1 &

#默认监听端口为5920
[[email protected] gocron-linux-amd64]# firewall-cmd --permanent --zone=public --add-port=5920/tcp
success
[[email protected] gocron-linux-amd64]# firewall-cmd --reload
success
文章来源(Source):https://www.dqzboy.com

四、访问页面

  • http://ip:5920
定时任务管理系统—Gocron安装部署与使用-浅时光博客
文章来源(Source):https://www.dqzboy.com
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客

五、安装节点

  • 如果执行方式为shell时,必须在所需执行的主文章来源(Source):https://www.dqzboy.com机节点上安装部署gocron-node才可以,默认监听端口为5921;
  • 注意:启动节点不允许通过root账号启动,需创建一个普通用户

1、下载安装

[[email protected] ~]# wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz

[[email protected] ~]# tar -zxvf gocron-node-v1.5.3-linux-amd64.tar.gz -C /usr/local/

[[email protected] ~]# useradd gocron-user

2、启动服务

[[email protected] ~]# chown -R gocron-user. /usr/local/gocron-node-linux-amd64/

[[email protected] ~]# firewall-cmd --permanent --zone=public --add-port=5921/tcp
success
[[email protected] ~]# firewall-cmd --reload
success

#用普通用户来启动服务
[[email protected] ~]# su - gocron-user -c " cd /usr/local/gocron-node-linux-amd64 && nohup ./gocron-node > /tmp/gocron-node.log 2>&1 &"

六、添加节点

1、加入节点

定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客

2、加入任务

定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客
定时任务管理系统—Gocron安装部署与使用-浅时光博客

定时任务管理系统—Gocron安装部署与使用-浅时光博客
1 条回应
  1. boycool未知2020-7-12 · 11:43

    谢谢分享,学习了

本站已安全运行: | 耗时 0.475 秒 | 查询 112 次 | 内存 19.46 MB