gocron是一个用go写的轻量级的定时任务集中管理和调度的系统,主要用于替代liunx的crontab,我们为什么会用这个系统呢,最主要可视化,方便管理,看日志和执行时间方便。
官网开源再地址:https://gitee.com/mirrors/gocron
其实官网的安装说明已经很详细了,我这里在大概的说一下。
1、必须安装go的运行环境(go语言写的嘛) 2、主要gocron是web可视界面,gocron-node是服务器端需要安装的。 3、gocron的默认监听端口5920,gocron-node的默认监听端口 5921。
我们以二进制的方式安装,下载下面的两个包
https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-v1.5.3-linux-amd64.tar.gz
解压
选择合适的目录,执行解压命令
tar -zxvf gocron-node-v1.5.3-linux-amd64.tar.gz tar -zxvf gocron-v1.5.3-linux-amd64.tar.gz
运行
进入到解压目录我们来启动程序,安全期间不要使用root用户运行,我们先创建个www用户
useradd www sudo -u www ./gocron-v1.5.3-linux-amd64/gocron web
启动gocron-node (不能使用root用户,使用后会失败) sudo -u www ./gocron-node-v1.5.3-linux-amd64/gocron-node
启动程序后需要一直开着运行窗口,不能关掉,一会我们在说解决办法。
此刻你可以直接在浏览器里面访问,http://ip:5920,没有问题的话会打卡运行界面,需要我们输入链接数据库的配置。
完成后会跳到登录页面,输入管理员账号和密码登录。
任务节点
登陆后最先做的是设置任务节点,任务节点指的就是服务器,若是在哪台服务器跑脚本,就设置好哪一台,需要提前在此服务器安装gocron-node。
任务节点完成后,任务管理里面添加定时任务即可,这里的定时任务是精确到秒的,切记,切记!
添加完运行的时候,就可以看到日志了,这里不再多介绍,相信你肯定会。
后台运行脚本
创建gocron 和 gocron-node 的shell脚本run.sh,放到你想放的目录,我这里放在 /home/shell 中,注意下面脚本的名字变化。
#!/bin/bash #启动gocron-node cd /home/gocron-node-linux-amd64 sudo -u www bash -c ‘nohup ./gocron-node > /dev/null 2&1 &’
#启动gocron cd /home/gocron-linux-amd64 sudo -u www bash -c ‘nohup ./gocron > /dev/null 2&1 &’
修改文件权限,run.sh需要可执行权限。 chmod -R 777 run.sh
指定文件所在的组 chown -R www:www run.sh
启动脚本文件
source /home/shell/run.sh
至此gocron安装完成。
说明使用source执行的原因:当shell执行脚本的时候,它会开启一个子shell,目录跳转命令只会在这个子shell中执行,并不会影响到父shell。要想在父shell中实现目录的跳转,需要用source来执行脚本。