广告

Cron 表达式生成器

直观地构建、解释和验证 cron 计划。选择预设或 调整每个字段 - 立即查看人类可读的含义和下一次运行时间。

广告
下次运行时间使用您当地的时区:

人类可读 解释

🕒

接下来 5 次运行时间

常用预设

单击预设即可 立即加载。

什么是 Cron 表达式?

一个 计划任务表达式 是一个紧凑的字符串,由 cron 工作 调度程序——内置于 Unix、Linux 和 macOS 中——用于描述 一个命令 应该运行。您不是编写睡眠和检查时钟的代码,而是描述重复出现的 使用一些符号进行调度,并让操作系统准确地触发您的脚本 正确的时机。

经典格式有五个用空格分隔的字段: minute hour day-of-month month day-of-week。从左到右阅读,每个字段都会缩小 工作 运行。单个星号 (*) 在字段中表示“每个可能的值”, 所以 * * * * * 运行 每天的每一分钟。现代调度程序,例如 Quartz、Spring 和 AWS EventBridge 添加了可选的前导 场(和 有时尾随 场);该生成器支持 5 场和 6 种口味。

五个领域一目了然

Field Allowed values Special characters
Minute 0–59 * , - /
Hour 0–23 * , - /
Day of month 1–31 * , - / ? L
Month 1–12 or JAN–DEC * , - /
Day of week 0–6 or SUN–SAT * , - / ? L

特殊字符解释

  • *每个值。 星号表示“全部”。 在小时字段中,表示每小时。
  • ,值列表。 1,15,30 表示分钟 1、15 和 30。
  • -值的范围。 9-17 意味着 9 到 17、含。
  • /步长值。 */15 指每15个单位; 0-30/10 表示 0、10、20、30。
  • ?无具体值 (用于避免冲突的日子 字段,常见于 Quartz)。
  • L最后。 L 在日期字段中意味着 该月的最后一天。

如何使用这个 Cron 生成器

这个工具将神秘的 cron 语法变成了你可以使用的东西 看到明白。有以下三种使用方法:

  1. 从预设开始。 单击常用时间表之一 - “每个 分钟”、“每天午夜”、“每周一上午 9 点”以及 更多 - 并且字段会自动填充。
  2. 直观地构建。 每个字段都有快速模式按钮(Every、At、Between、Every 步骤)。输入一个值,例如 30,一个像这样的范围 9-17,或者像这样的步骤 */10。表达和解释实时更新。
  3. 解析现有表达式。 从配置文件或文件中粘贴 cron 字符串 教程进入“解析”框,看看它的含义以及下次触发的时间。

当您编辑时,生成器会向您显示日程安排的简单英语摘要(例如, “上午 09:30,仅限星期一”)并计算 接下来的五个运行时间 在您当地的时区。当你高兴的时候,点击 复制表达式 并粘贴它 直接进入你的 crontab -e 文件,一个 Kubernetes CronJob,一个 GitHub 行动计划,或任何其他使用 cron 的系统。

常见的 Cron 示例

Expression Meaning
* * * * * Every minute
*/5 * * * * Every 5 minutes
0 * * * * Every hour, on the hour
0 0 * * * Every day at midnight
0 2 * * * Every day at 2:00 AM
0 0 * * 0 Every Sunday at midnight
0 9 * * 1-5 At 9:00 AM, Monday through Friday
0 0 1 * * At midnight on the first day of every month
30 4 1 * * At 4:30 AM on the 1st of each month
0 0 1 1 * At midnight on January 1st (yearly)
*/15 9-17 * * 1-5 Every 15 minutes during business hours on weekdays

Cron 表达式的用途

Cron 最初是一个 Unix 守护进程,但其语法已成为 通用语 为了 描述整个软件堆栈中的重复时间表。你会遇到 cron 多处表达:

  • Linux 和 macOS 的 crontab — 原始调度程序,编辑为 crontab -e.
  • CI/CD 管道 — GitHub 操作 schedule 触发器和 亚搏体育appGitLab持续集成 schedules 两者都使用 cron。
  • 云调度程序 — AWS EventBridge、Google Cloud Scheduler 和 Azure 函数定时器都接受类似 cron 的速率。
  • 应用框架 — 春天 @Scheduled, Laravel 任务 调度、Celerybeat 和 Node.js 包,例如 node-cron.
  • 容器编排 — 库伯内斯 CronJob 资源 按 cron 计划运行 pod。
  • 数据库和内容管理系统 — WordPress WP-Cron、Magento 和许多备份 工具依赖于 cron。

编写可靠的 Cron 作业的技巧

Cron 很简单,但有一些问题让人困惑。记住这些和你的计划任务 将可靠运行:

  • 避免半夜高峰。 每个人都设定工作 0 0 * * *。交错 忙碌的时光与 17 0 * * *30 1 * * * 分散负载。
  • 记住环境。 Cron 在一个很小的环境中运行,很少有 外壳。始终使用绝对路径并设置 PATH 如果你需要的话。
  • 注意每月的某一天与每周的某一天。 当两者都受到限制时(不 *?),标准 cron 会在匹配上触发 要么, 不 两者都有。使用此工具的解释来仔细检查逻辑。
  • 注意时区。 系统 cron 使用服务器的时区。云调度程序 通常默认为 UTC。该生成器预览在您的 本地的 浏览器时区, 如上所示。
  • 测试下一次运行预览。 部署之前,检查“Next 5 run times”列表来确认计划在您期望的时间触发。

常见问题解答

什么是 */5 * * * * 意思是?

意思是“每五分钟一次”。的 */5 是一个步长值:从0开始并且 每次步进 5,因此作业会在每小时的 0、5、10、15、... 55 分钟触发。

什么是 0 9 * * 1-5 意思是?

它的意思是“周一至周五上午 9:00”。分钟为 0,小时为 9,星期几 范围 1-5 涵盖周一 (1) 至周五 (5)。

每周日如何开展工作?

使用 0 0 * * 0 每个周日午夜。在 cron 中,星期日可以是 07.

5 字段和 6 字段 cron 之间有什么区别?

标准 Unix cron 使用 5 个字段(分钟、小时、日、月、工作日)。石英和许多云 调度程序添加一个前导 字段进行更精细的控制。使用上面的切换按钮 场网格可在 5 场和 6 场模式之间切换。

cron 支持秒吗?

标准Unix cron 确实 支持秒——最小单位是一 分钟。 Quartz、Spring 和一些云调度程序确实支持可选的前导秒字段。

我的数据发送到任何地方了吗?

不会。这个 cron 生成器完全在您的浏览器中运行。你的表情永远不会离开你的设备, 即使有内部时间表,也可以安全使用。

开始制定你的日程安排

滚动回到顶部,选择一个预设或从 * * * * *,并对每个进行微调 场。键入时观看实时说明和下次运行预览更新,然后复制完成的内容 表达。无论您是计划数据库备份、每日报告还是 Kubernetes CronJob,Caitty cron 生成器让您在几秒钟内获得正确的语法 - 免费,无需任何操作 需要注册。

广告