Linux定时任务管理
<p><a href="https://zhang.ge/5129.html">参考</a></p>
<p>部署
本文主要介绍功能,这里就简单写下关键步骤:</p>
<p>1、安装MongoDB,强烈建议使用集群模式</p>
<p>2、安装Etcd3,强烈建议使用集群模式</p>
<p>3、部署cronsun</p>
<p>①、下载cronsun:<a href="https://github.com/shunfei/cronsun/releases">https://github.com/shunfei/cronsun/releases</a> (选择最新版本即可)</p>
<p>②、解压后修改conf目录下的配置文件:db.json 和 etcd.json,分别修改MongoDB和etcd的实际地址。</p>
<p>③、启动web:./cronweb -conf conf/base.json (若要后台运行则使用nohup)</p>
<p>④、启动node:./cronnode -conf conf/base.json (若要后台运行则使用nohup)</p>
<p>⑤、访问前台:<a href="http://x.x.x.x:7079/ui/">http://x.x.x.x:7079/ui/</a></p>
<p>4、部署鉴权组件aProxy,cronsun在鉴权方面做的非常粗糙,所以这里用到了cronsun团队开发的aProxy鉴权组件,实现的原理为基于Go语言,反向代理了后端WEB,从而实现域名和页面地址的访问控制,介绍地址:<a href="https://www.cnblogs.com/QLeelulu/p/aproxy.html">https://www.cnblogs.com/QLeelulu/p/aproxy.html</a></p>
<p>我们这边是要用到生产环境,所以在部署上会着重考虑到可用性和可靠性,这里贴一下我们这边的部署架构图,供参考:
替代crontab,统一定时任务管理系统cronsun简介</p>
<p>Ps:目前新版本已支持历史日志定期清理。</p>
<p>这里,Etcd和MongoDB复用了5台服务器(后续会继续复用其他公共组件),其中MongoDB采用分片+副本集的模式。</p>
<h3>gocron</h3>
<p><a href="https://github.com/ouqiang/gocron">https://github.com/ouqiang/gocron</a></p>