CronFlow
写一条 cron 表达式,用日常语言读回来,看清它在任意时区究竟何时触发,并直接带走 crontab 行、workflow 或清单文件。
每 5 分钟执行
正在读取你的时钟…
放到目标平台上真的会跑吗?
同样五个字段,在不同调度器眼里含义并不相同。下面这些会拒绝这条表达式,或者悄悄按另一种方式解释它。
照写照跑。
照写照跑。
- 始终按 UTC 运行,上面选的时区会被忽略。
- 计划任务会进入队列,负载高时可能晚很多才开始。
- 需要 6/7 个字段,而不是 5 个。
- 需要 6 个字段,而不是 5 个。
- 需要 6 个字段,而不是 5 个。
照写照跑。
照写照跑。
带走它
表达式很少是最终交付物。这才是你真正要粘贴的文件。
# ┌───────────── minute (0-59) # │ ┌─────────── hour (0-23) # │ │ ┌───────── day of month (1-31) # │ │ │ ┌─────── month (1-12) # │ │ │ │ ┌───── day of week (0-6, Sunday = 0) # │ │ │ │ │ */5 * * * * /usr/local/bin/my-job.sh
怎么用
写出来,或者点出来
直接输入表达式,或者在网格里挑分钟、小时和日期,完全不必碰语法。
选对真正要紧的时区
crontab 跑在服务器的时区里,不是你的。选好它,页面上所有时间都会跟着变。
读一遍,核对日期
一句母语的说明、接下来和之前的执行,以及一张能看出计划形状的日历。
带走你真正需要的文件
一行 crontab、一段 GitHub Actions、一个 Kubernetes CronJob、一个 systemd 定时器、一条 EventBridge 规则等等。
所有时区,含夏令时
执行时刻先按墙上时钟计算,再按时区换算,因此夏令时增删的那一小时会被真正处理,而不是被悄悄报错。
用网格代替语法
精确勾选分钟、小时、日期、月份和星期。Shift+点击选区间。表达式会自动写好。
是日历,不只是列表
月度热力图和小时直方图能看出计划的形状,这是列表里五个时间戳永远说不清的。
七种真正能用的导出
crontab、GitHub Actions、Kubernetes CronJob、systemd OnCalendar、AWS EventBridge、node-cron 和 Spring,都已填好你的命令。
兼容性已检查
Quartz 需要「?」,GitHub Actions 会忽略你的时区,EventBridge 把星期日记为 1。上线之前你就会知道。
什么都不出这个标签页
解析器、调度器和导出器全在你的浏览器里运行。没有 API,不用上传,不用账号。
CronFlow
CronFlow 能解析 5 字段的标准 crontab 语法,以及 6、7 字段的 Quartz、@daily 系列、@every 间隔、Jenkins 的 H,还有 L、W 和 # 记号。它用你的语言把表达式读回来,在任意 IANA 时区预览下一次和上一次执行,并把它变成你的调度器所需要的文件。
算出来的,不是猜的
调度逻辑在民用时间上推进,每命中一次就用浏览器自带的时区数据库换算成时刻,所以换钟那晚 02:30 的任务,展示出来就是它真实的行为。
为你接手的那份 crontab 而写
把服务器上的文件粘进来,每一行都会拆成计划、用户和命令,再用日常语言解释一遍:有问题的行会被标出,CRON_TZ 也会自动识别。不按按钮,什么都不会被解析。
这个页面背后没有任何 API。解析器、执行时刻搜索、时区换算和所有导出器都是跑在你标签页里的 JavaScript,生产服务器的 crontab 哪儿也不会去。
常见问题
Q我的数据会发到服务器吗?+
不会。解析器、执行时刻搜索和所有导出器都在你的浏览器里运行。粘贴到这里的 crontab 不会离开这个标签页。
Q支持哪些 cron 语法?+
5 字段的标准 crontab、含秒的 6 字段,以及带年份的 7 字段 Quartz。区间、列表、步长,以及 JAN、MON 这类别名。@yearly、@monthly、@weekly、@daily、@midnight、@hourly 简写和 @every 间隔。Quartz 的 L、LW、L-3、15W、FRI#3 和 ?,还有 Jenkins 的 H 记号。
Q为什么要选时区?+
因为 cron 任务跑在机器的时区里,通常是 UTC,几乎不会是你的。搞错这一点,是计划在意外时刻触发的最常见原因。选好服务器的时区,页面上所有时间都会跟着它。
Q换钟那一晚会怎样?+
墙上时钟在那天并不存在的执行会被标记,预览会显示真正存在的下一个时刻。真实的调度器在这里做法并不一致,所以工具选择明确提示,而不是假装只有一个正确答案。
Q为什么「日」和「星期」字段有时表现得很奇怪?+
当两者都不是星号时,经典 cron 会在任意一个匹配时触发,而不是两个都要匹配。「0 0 1 * MON」既在 1 号跑,也在每个星期一跑。工具会套用这条规则并提醒你。
Q能拿到 Kubernetes 或 GitHub Actions 的片段吗?+
可以。导出面板会生成 crontab 行、GitHub Actions 的 schedule 块、Kubernetes CronJob、systemd 的 timer 和 service、AWS EventBridge 表达式、node-cron 调用以及 Spring 的 @Scheduled 注解,并填入你输入的任务名和命令。
Q完全不写 cron 语法也能用吗?+
可以。构建器标签为每个字段提供可点击的网格——挑好分钟、小时、日期、月份和星期,表达式会替你写好。