Cron表达式构建器

只需通过下拉菜单和数值输入选择分钟、小时、日期、月份和星期,即可自动生成cron表达式。可即时预览生成的cron字符串、通俗语言的说明文字,以及接下来5次执行时间,方便编写crontab或GitHub Actions的定时任务。

常用调度速查表

以下是典型调度场景对应的cron表达式列表。点击某一行即可将其作为预设应用到上方的构建器中。

预设名称 cron表达式 含义
每天凌晨0点 0 0 * * * 每天0点0分(凌晨)执行。
工作日9点 0 9 * * 1-5 工作日(周一至周五)的9点执行。
每小时第0分钟 0 * * * * 每小时的第0分钟执行一次。
每周一 0 0 * * 1 每周一0点0分执行。

使用小贴士

  • 将星期字段设置为"范围"模式并选择1到5,即可一步生成"周一至周五"的工作日调度。
  • "列表"模式可以用逗号分隔输入多个值,例如在分钟字段输入"0,15,30,45",效果等同于每15分钟执行一次。
  • 如果日期字段和星期字段都被设置为"每次(*)"以外的值,按照标准cron规范,两者是"或"的关系——只要满足其中一个条件就会执行。
  • 生成的cron表达式可以通过"复制"按钮复制到剪贴板,直接粘贴到crontab或GitHub Actions的YAML文件中使用。
  • 点击预设按钮,或点击下方速查表中的某一行,都可以一键将常见调度应用到构建器中。

常见问题

crontab条目是由5个用空格分隔的字段组成的字符串:分、时、日、月、星期。本工具让你通过下拉菜单或数值输入分别选择每个字段,自动为你组装这5个字段,因此无需记忆语法就能生成正确的cron表达式。

将星期字段设置为"指定值"模式并选择1(星期一),即可生成"0 0 * * 1",只匹配周一。如果需要调整具体时刻,也请将分钟、小时字段设置为"指定值"模式。

将星期字段设置为"范围"模式,从1(星期一)到5(星期五)。但cron本身没有节假日的概念,如果需要排除法定节假日,需要在脚本中另外编写判断逻辑。

可以。它生成的是标准5字段格式(兼容Vixie cron)的cron表达式,因此可以直接用于Linux服务器的crontab、GitHub Actions的schedule、Kubernetes的CronJob等采用相同5字段cron语法的多种环境。
ツールくん

闲话 ― 为什么"写"cron表达式比"读"更难

cron表达式看似只要记住5个字段就能写出来,但真正动手写时,往往需要回忆"*/15"和"1-30/5"哪个才是正确写法、星期是从0开始还是从1开始等细节,出错的概率意外地高。相反,理解一段已有cron表达式的含义(本站的Cron表达式解析器所承担的任务)相对机械,只需按顺序逐个字段理解即可。

本工具正是着眼于这种不对称性,专注于支持"从UI选择构建"cron表达式这一方向的操作。用户可以通过下拉菜单和数值输入直接表达意图(例如"想在工作日9点执行"),工具会自动组装出满足该意图的cron表达式,从而彻底免除记忆语法的负担。

作为确认生成结果是否符合预期的最后一步,本工具还提供了接下来5次执行时间的预览功能。尤其是当日期字段和星期字段同时被限制时会构成容易被忽视的"或"条件,能够直接看到实际的候选执行时间,有助于提前发现执行频率与预期不符的问题。