gocron在linux环境下安装及设置开机启动【转】

安装gocron,github地址:https://github.com/ouqiang/gocron

我们直接使用二进制安装包,这样最简单。

//压缩包下载地址
https://github.com/ouqiang/gocron/releases
 
//下载-调度器
wget -c https://github.com/ouqiang/gocron/releases/download/v1.5.1/gocron-v1.5.1-linux-amd64.tar.gz
 
//解压
tar zxf gocron-v1.5.1-linux-amd64.tar.gz
 
//进入目录
cd gocron-linux-amd64/
 
//调度器启动
Windows: gocron.exe web
Linux、Mac OS: ./gocron web
 
//浏览器访问配置数据库,账户,编辑定时脚本
http://localhost:5920

按提示设置,配置数据库,然后希望调度器开机启动

vim /etc/rc.d/rc.local

发现一个问题,重启服务器之后,调度器并没有启动。
尝试了几次,发现配置了数据库之后,开机就启动不了,而gocron和数据库在一台服务器上,所以判断应该是调度器启动时MySQL数据库还没启动。
找到问题,就想办法解决。只需要启动时判断一下数据库是否能联通即可,并且设置尝试次数。
在gocron-linux-amd64目录下创建start.sh的文件,内容如下:

SERVER=127.0.0.1
PORT=3306
for num in  {1..5};  do
 </dev/tcp/$SERVER/$PORT
 if [ "$?" -ne 0 ]; then
   echo "Connection to $SERVER on port $PORT failed"
   sleep 5s
 else
   echo "Connection to $SERVER on port $PORT succeeded"
   /root/gocron-linux-amd64/gocron web &
   break
fi
done
 
exit

SERVER,PORT是MySQL服务器的IP和端口
尝试5次,如果连接失败,停5秒

重新配置开机启动文件

vim /etc/rc.d/rc.local
 
//增加启动内容
/bin/bash /root/gocron-linux-amd64/start.sh  &> /dev/null &

重启服务器,验证一下调度器是否启动了

完全参考

gocron在linux环境下安装及设置开机启动==>https://www.zyhome.org/arc/426.html

原文地址:https://www.cnblogs.com/whatlonelytear/p/13543482.html