-
Notifications
You must be signed in to change notification settings - Fork 456
安装和配置
Doflatango edited this page Mar 13, 2018
·
1 revision
- 从 https://github.com/shunfei/cronsun/releases 下载对应平台的压缩包;
- 解压之后,将会得到 3 个二进制可执行文件,以及一份配置文件:
- csctl:一个命令行的管理工具,目前提供数据备份还原,和数据升级的功能;
- cronweb: 这个带有一个 web 控制面板的管理节点,仅用来管理数据,和发一些通知;
-
cronnode:这个负责执行任务的节点,每一台(需要跑任务的)机器上面需要部署一个
cronnode
节点;
- 在部署之前建议先查看下面配置文件说明;
- 部署好依赖
MongoDB
和Etcd
; - 通常情况下,
cronnode
应该在每一台有需要的机器部署一个进程,cronweb
只需要在任意一台机器上部署一个进程即可; - 把配置拷贝到每个节点上面,避免配置不一致的情况;
- 启动;
所有的配置文件都在 conf
目录中:
- base.json:配置文件的入口;
- web.json:只有 cronweb 用到的配置;
- db.json:MongoDB 连接配置;
- etcd.json:Etcd 连接配置;
- mail.json:邮箱服务器和告警接口配置;
- security.json:任务安全配置,通过设立白名单来限制任务脚本的后缀和执行用户;
-
UUIDFile
:cronnode
节点在首次启动时会生成一个 UUID(UUID 作为节点的唯一标识,是不可改变的,新的 UUID 意味着一个新的节点),会保存到此配置项指定的路径,默认是/etc/cronsun/CRONSUN_UUID
,因此需要一些权限,如果你想保存到其它地方,请修改此配置项,如果想迁移节点,请把这个 UUID 文件一并迁移到新的地方。
-
BindAddr
:web 管理面板服务绑定的地址和接口; -
Auth
:设置Enabled
为trun
,访问管理面板将要求登录认证,首次使用时默认的用户名和密码是:[email protected]
/admin
; -
LogCleaner
:日志清理器,大量任务频繁的执行将会产生很多的日志,大部分日志并不需要长时间的保存,设置一个大于 0 的数值给EveryMinute
,cronweb
将启动一个日志清理器每个EveryMinute
分钟清理一次日志。ExpirationDays
指定了日志可以保存多久(单位是天);
- 如果你的 MongoDB 启用了登录认证,在配置里添加上
UserName
和Password
并填上用户密码即可;
-
Enable
:设置为false
,不开启任务告警,其它配置可忽略不填。设置true
,开启报警; -
HttpAPI
:当这里不为空的时候,所有的告警信息都会发到指定的 HTTP 接口,不会再往邮箱发送,二选一。但是,下面的To
收件人对HttpAPI
仍然有效,发送的告警消息格式如下:
{
"To": [String, ...],
"Subject": String,
"Body": String
}
-
To
:全局告警接收人邮箱,所有的任务(失败)告警,以及cronnode
节点挂了,都会发送到这里的邮箱; -
SSL
:有些服务器默认是强制加密通讯的,不需要设置此项为true
;
-
open
:设置为true
开启安全选项; -
users
:执行用户白名单,只有在白名单中的系统用户,任务才有被执行的可能,可以避免用 root 来执行任务; -
ext
:脚本后缀白名单,只有在白名单中的后缀,任务才有被执行的可能;