系统运维 / 操作系统

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

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

一、程序介绍


项目地址:https://github.com/ouqiang/gocron

使文章来源(Source):浅时光博客用G文章来源(Source):https://www.dqzboy.como语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab

二、功能特性


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

支持平台

Windows、Linux、Mac OS

三、安装部署

1、安装MySQL

1.1:下载安装

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

mysql-community-servermysql-community-clientmysql-community-commonmysql-community-libs

MySQL rpm
  • 将下载的包文件上传到服务器,然后安装
[root@localhost ~]# rpm -ivh mysql-community*

1.2:启动服务

[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# systemctl enable mysqld.service

1.3:重置密码

[root@localhost ~]# cat /var/log/mysqld.log | grep 'password'
[root@localhost ~]# 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:创建数据库

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

2、安装gocron

gocron github

2.1:安装Go环境

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

[root@localhost ~]# yum install golang

2.2:下载安装程序

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

2.3:启动服务程序

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

#默认监听端口为5920
[root@localhost gocron-linux-amd64]# firewall-cmd --permanent --zone=public --add-port=5920/tcp
success
[root@localhost gocron-linux-amd64]# firewall-cmd --reload
success

四、访问页面

  • http://ip:5920
gocron web01
gocron web02
gocron web03

五、安装节点

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

1、下载安装

文章来源(Source):https://www.dqzboy.com
[root@localhost ~]# wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz

[root@localhost ~]# tar -zxvf gocron-node-v1.5.3-linux-amd64.tar.gz -C /usr/local/

[root@localhost ~]# useradd gocron-user

2、启动服务

[root@localhost ~]# chown -R gocron-user. /usr/local/gocron-node-linux-amd64/

[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=5921/tcp
success
[root@localhost ~]# firewall-cmd --reload
success

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

六、添加节点

1、加入节点

gocron web04
原文链接:https://www.dqzboy.com
gocron web05
gocron web06
gocron web07

2、加入任务

gocron web08
gocron web09
gocron web10
gocron web11
gocron web12
gocron web13
gocron web14

1599059641 ae7af2e544b8e09


1 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. boycool未知2020-7-12 · 11:43

    谢谢分享,学习了