1. cronsun 是一个分布式任务系统,单个结点和 *nix 机器上的 crontab 近似。支持界面管理机器上的任务,支持任务失败邮件提醒,安装简单,使用方便,是替换 crontab 一个不错的选择。

cronsun 是为了解决多台 *nix 机器上crontab 任务管理不方便的问题,同时提供任务高可用的支持(当某个节点死机的时候可以自动调度到正常的节点执行)。

2. cronsun特性:

  • 方便对多台服务器上面的定时任务进行集中式管理
  • 任务调度时间粒度支持到级别
  • 任务失败自动重试
  • 任务可靠性保障(从N个节点里面挑一个可用节点来执行任务)
  • 简洁易用的管理后台,支持多语言
  • 任务日志查看
  • 任务失败邮件告警(也支持自定义http告警接口)
  • 用户验证与授权

本文主要介绍如何搭建cronsun,详细介绍请查看: github地址: https://github.com/shunfei/cronsun

4. 安装:

① 下载cronsun: https://github.com/shunfei/cronsun/releases/,本文使用的是v0.3.4版本,文档安装: https://github.com/shunfei/cronsun/releases/download/v0.3.4/cronsun-v0.3.4-linux-amd64.zip, 熟悉go的同学也可以使用源码安装。

下载并解压上述文件,得到如下:

cronnode: 负责调度和执行任务的

cronweb: 负责管理任务、查看任务执行日志的

conf: db/web/sercuriry等配置文件

② 安装 etcd: (主要用于分布式配置共享和服务发现)

本文使用的是: v3.3.10版本,源码安装:https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz,得到如下:

default.etcd:   数据存储目录

etcd:  etcd二进制启动文件

etcdctl:  可以操作etcd的工具

③ 安装mongodb(此步骤省略,网上可以搜到很多)

4. 启动服务:

① 先启动etcd服务:

进入etcd安装的目录:  ./etcd

默认侦听的客户端地址为: http://localhost:2379,  这个可以修改配置文件

② 启动mongodb:

进入安装目录: ./mongod

③ 启动cronsun节点:

在启动之前,需要修改conf下的db.conf:

mongodb的连接地址:

etcd.conf配置:

etcd服务连接的地址

进入安装目录: ./cronnode -conf conf/base.json

④ 启动cronweb(管理脚本的界面):

进入安装目录:./cronweb -conf conf/base.json

全部服务启动完毕,打开网址: 主机:7079/ui/#/node, 本文为: 192.168.10.116:7079/ui/#/node

默认登录账号密码: admin@admin.com /  admin

至此,全部步骤都完成,如有说的不对的话,望指正。

安装cronsun管理定时脚本的更多相关文章

  1. Linux学习总结(七)—— CentOS软件包管理:脚本安装

    脚本安装就是软件编写者写好一个shell脚本或者java脚本,你只需要输入一些简单的信息便可直接安装.这种安装方式方便简单,类似于Windows下软件的安装方式. 下面以webmin的安装为例讲解脚本 ...

  2. [转]centos6.6 rpm安装与管理

    centos6.6 rpm安装与管理 原文地址:http://www.centoscn.com/CentOS/2015/0414/5182.html   rpm包管理:安装.升级.卸载.查询.检验 安 ...

  3. OpenStack安装部署管理中常见问题解决方法

    一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...

  4. 使用linux下的crontab定时任务跑定时脚本

    使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...

  5. Centos 7 安装 ifconfig 管理命令

    1. 安装的需求背景 我们知道ifconfig 命令可以用于查看.配置.启用或禁用指定网络接口,如配置网卡的IP地址.掩码.广播地址.网关等,功能不可谓不丰富. 此命令的功能和windows系统的ip ...

  6. 运维笔记10 (Linux软件的安装与管理(rpm,yum))

    概述:用rpm安装和管理软件(rpm解决依赖性),用yum安装与管理软件(yum解决依赖性). 1.linux的软件 linux能够说是一款改变时代的操作系统,可是一个操作系统再优秀假设没有好用的应用 ...

  7. Zookeeper Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈).然后遇到了多个一模一样但是同时运行的服务.不同服务但依赖同相同的配置数据(前端网页服务:Nginx+IIS+nodejs. ...

  8. Nginx Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈),nginx挺好,不过Windows有点为难,小流量和本地不追求性能,简单易用是目标. Nginx Windows上并没有提 ...

  9. 多实例mysql的安装和管理【验证通过】

    mysql的多实例有两种方式可以实现,两种方式各有利弊.第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便.第二种是通过官方自带的mysqld ...

随机推荐

  1. Python pymysql模块学习心得

    PyMySQL包含了一个纯Python的MySQL客户端的库,它的目的是用来替换MySQLdb,并且工作在CPython,PyPy和IronPython. PyMySQL官方地址:https://py ...

  2. Jquery ajax动态更新下拉列表的内容

    $("#book_id").change(function(){ $book_id=$(this).children('option:selected').val(); //ale ...

  3. MapReduce优化参数

    资源相关参数 //以下参数是在用户自己的 MapReduce 应用程序中配置就可以生效 (1) mapreduce.map.memory.mb: 一个 Map Task 可使用的内存上限(单位:MB) ...

  4. LeetCode总结 -- 一维动态规划篇

    这篇文章的主题是动态规划, 主要介绍LeetCode中一维动态规划的题目, 列表如下: Climbing StairsDecode WaysUnique Binary Search TreesMaxi ...

  5. 一、WPF 2个datagrid之间同步进度条

    页面代码 <Grid DockPanel.Dock="Left" Width="400"> <DataGrid Name="dgSo ...

  6. 二、docker学习笔记——安装redis

    前提:打开powershell(管理员) 1.官网路径 按照官网的做了,但外网无法链接,只好换个做法. 2.docker pull redis 这下载的最新版redis 3.在docker上挂载文件夹 ...

  7. ESP32D0WDQ6 灯泡 黑客

    这个黑客表现得如何聪明 灯泡 可能泄漏您的Wi-Fi密码O网页链接破解者博客详文 Pwn the LIFX Mini white O网页链接ESP32D0WDQ6, a SoC from ESPRES ...

  8. C++ 的编译过程

    Recall that g++ is not actually the C++ compiler – it is a driver program that hides a lot of the co ...

  9. July 24th 2017 Week 30th Monday

    The only limit to our realization of tomorrow will be our doubts of today. 实现明天理想的唯一障碍就是今天的疑虑. When ...

  10. Django logging的介绍

    Django用的是Python buildin的logging模块. Python logging由四部分组成: Loggers - 记录器 Handles - 处理器 Filters - 过滤器 F ...