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 语法变成了你可以使用的东西 看到 和 明白。有以下三种使用方法:
- 从预设开始。 单击常用时间表之一 - “每个 分钟”、“每天午夜”、“每周一上午 9 点”以及 更多 - 并且字段会自动填充。
- 直观地构建。 每个字段都有快速模式按钮(Every、At、Between、Every
步骤)。输入一个值,例如
30,一个像这样的范围9-17,或者像这样的步骤*/10。表达和解释实时更新。 - 解析现有表达式。 从配置文件或文件中粘贴 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 中,星期日可以是 0
或 7.
5 字段和 6 字段 cron 之间有什么区别?
标准 Unix cron 使用 5 个字段(分钟、小时、日、月、工作日)。石英和许多云 调度程序添加一个前导 秒 字段进行更精细的控制。使用上面的切换按钮 场网格可在 5 场和 6 场模式之间切换。
cron 支持秒吗?
标准Unix cron 确实 不 支持秒——最小单位是一
分钟。 Quartz、Spring 和一些云调度程序确实支持可选的前导秒字段。
我的数据发送到任何地方了吗?
不会。这个 cron 生成器完全在您的浏览器中运行。你的表情永远不会离开你的设备, 即使有内部时间表,也可以安全使用。
开始制定你的日程安排
滚动回到顶部,选择一个预设或从 * * * * *,并对每个进行微调
场。键入时观看实时说明和下次运行预览更新,然后复制完成的内容
表达。无论您是计划数据库备份、每日报告还是 Kubernetes
CronJob,Caitty cron 生成器让您在几秒钟内获得正确的语法 - 免费,无需任何操作
需要注册。