该项目fork于ouqiang/gocron,依据自己喜好和实际需求进行了功能迭代,当前发布 1.6.5 版本。
Gocron-定时任务管理系统,使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab
- 优化
gocron-cli本地认证刷新逻辑,记录 access token 过期时间并提前刷新 - CLI 刷新 refresh token 时增加本地锁,避免多个进程并发刷新导致设备授权被撤销
- 普通业务错误不再触发 token 刷新,减少无意义的 refresh token 轮换
- 服务端对刚轮换后的 refresh token 重放增加短时间宽限,降低并发调用时误撤销设备授权的概率
- 新增
gocron-cli,支持通过浏览器授权后管理 cron 任务 - CLI 支持任务查询、详情、创建、修改、启停、手动运行、停止运行实例、日志查询和主机查询
- CLI 默认不支持删除 cron 任务,删除仍需在 Web 后台操作
- 新增独立 Agent REST API,使用短期 access token 和轮换 refresh token
- 新增 CLI 设备授权管理,超级管理员可在 Web 后台查看和撤销已授权设备
- 新增 agent 操作审计表,记录授权、刷新、写操作、运行和停止等行为
- 优化整体界面样式与布局,包括界面色系,列表,详情,按钮组,分页等
- 调整权限等级,增加超级管理员,可以管理所有任务;管理员调整为管理自己的任务和查看其他任务和日志,普通用户与原有权限一致,仅可查看所有任务和日志
- 任务详情页增加快捷选择crontab按钮组
- 任务详情页支持更改任务状态
- 任务列表支持标签,命令搜索
-
Web界面管理定时任务
-
crontab时间表达式, 精确到秒
-
任务执行失败可重试
-
任务执行超时, 强制结束
-
任务依赖配置, A任务完成后再执行B任务
-
账户权限控制
-
任务类型
- shell任务
在任务节点上执行shell命令, 支持任务同时在多个节点上运行
- HTTP任务
访问指定的URL地址, 由调度器直接执行, 不依赖任务节点
-
查看任务执行结果日志
-
任务执行结果通知, 支持邮件、Slack、Webhook
-
gocron-cli命令行管理,适合 agent 或自动化脚本使用
gocron-cli 使用浏览器授权流程,不需要手动复制长期 token。第一版仅支持超级管理员授权使用。
gocron-cli login --server https://your-gocron.example.com
gocron-cli task list
gocron-cli task get 1
gocron-cli task create --file task.yaml
gocron-cli task update 1 --file task.yaml
gocron-cli task enable 1
gocron-cli task disable 1
gocron-cli task run 1
gocron-cli task logs 1
gocron-cli task stop 1 100
gocron-cli host list需要机器可读输出时添加 --json:
gocron-cli --json task listCLI 凭据保存在本机用户目录下的 .gocron/config.json。服务端仅保存 refresh token hash,超级管理员可在 Web 后台的 Agent授权 页面撤销设备授权。



