Repolode
flohoss

flohoss/gocron

自托管的定时任务调度器,用 YAML 定义周期性 Shell 任务,并通过 Web 界面管理运行。

可替代:Windows Task Scheduler

Star
627
Fork
23
未关闭 Issue
2
最近提交
15天前

这是什么?

GoCron 按 cron 表达式执行 Shell 命令。任务、调度计划、环境变量、超时和重试次数都写在一个 YAML 文件中,修改后无需重启容器即可生效。每个任务有独立的环境变量,命令中支持 ${VAR} 展开,任务级配置会覆盖全局默认值。

基于 Vue.js 的 Web 界面可以查看任务、手动触发运行、阅读日志,并提供沙箱终端。运行记录和日志保存在 SQLite 中,运行输出通过 Server-Sent Events 实时推送到浏览器。可选功能包括任务开始、结束和失败时的 HTTP 健康检查回调、按 IP 限流、反向代理信任配置,以及 OIDC 单点登录。

Docker 镜像在启动时可安装 restic、rclone、borgbackup、rsync 等常用备份与容器工具,目前仅支持 Debian 系统。

核心功能

  • 01在一个 YAML 文件中定义任务、cron 调度和环境变量。
  • 02支持标准 5 段式 cron 表达式,任务可继承全局默认配置。
  • 03可为每条命令设置超时和重试,并可选择失败后继续执行。
  • 04Web 界面可查看任务、手动触发运行并阅读日志。
  • 05运行记录保存在 SQLite 中,保留时长可配置。
  • 06任务开始、结束和失败时可发送 HTTP 健康检查回调。
  • 07可选 OIDC 单点登录和按 IP 限流。

适用场景

  • 在 Docker 主机上用 restic、rclone 或 borgbackup 定时执行夜间备份。
  • 在家庭服务器上运行周期性维护脚本,并通过浏览器查看日志。
  • 向监控服务发送心跳,以便任务未运行时触发告警。

快速上手

  1. 1

    使用 Docker 运行容器(首次启动时自动创建默认配置)

    docker run -it --rm --name gocron -p 8156:8156 -v ./config/:/app/config/ ghcr.io/flohoss/gocron:latest
  2. 2

    在浏览器中打开 http://localhost:8156 查看任务和日志

  3. 3

    或者使用 Docker Compose 运行提供的服务定义

使用前须知

  • 通过 software 配置块安装软件仅支持 Debian 系统。

收录于专题

标签

常见问题

gocron 是什么?
自托管的定时任务调度器,用 YAML 定义周期性 Shell 任务,并通过 Web 界面管理运行。 GoCron 按 cron 表达式执行 Shell 命令。任务、调度计划、环境变量、超时和重试次数都写在一个 YAML 文件中,修改后无需重启容器即可生效。每个任务有独立的环境变量,命令中支持 ${VAR} 展开,任务级配置会覆盖全局默认值。
gocron 可以免费使用吗?用的什么许可证?
gocron 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
gocron 还在维护吗?
活跃维护中。gocron 最近一次提交是在 2026年10月23日。
gocron 适合用来做什么?
在 Docker 主机上用 restic、rclone 或 borgbackup 定时执行夜间备份。 在家庭服务器上运行周期性维护脚本,并通过浏览器查看日志。 向监控服务发送心跳,以便任务未运行时触发告警。
gocron 怎么安装和运行?
使用 Docker 运行容器(首次启动时自动创建默认配置): docker run -it --rm --name gocron -p 8156:8156 -v ./config/:/app/config/ ghcr.io/flohoss/gocron:latest 在浏览器中打开 http://localhost:8156 查看任务和日志 或者使用 Docker Compose 运行提供的服务定义
在哪里获取 gocron?
源代码和安装说明在 GitHub 上:https://github.com/flohoss/gocron

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目