TontonTools

Cron 表达式解析器

构建并理解 cron 表达式——五个字段,翻译成英语。

100% 免费 没有注册 保护隐私 网页开发
已更新9月 2026
Share X / Twitter Facebook LinkedIn WhatsApp

如何使用Cron 表达式解析器

  1. 设置每个字段 - 具体值,* 表示每个,*/n 表示步骤,范围如 1-5。
  2. 阅读简单的英语翻译 - 确认它表达了您的意思。
  3. 将表达式复制到 crontab、主机的 cron 面板或 CI 计划中。
  4. 注意服务器时区 - cron 的时区时钟是机器的,不是你的。

Cron 表达式解析器是什么?

cron 表达式生成器将 crontab 的五个神秘字段(分钟、小时、月份、月份、星期几)转换为您可以读取和构造的内容:0 3 * * 1 变为“每周一 03:00”,“工作日每 15 分钟”变为 */15 * * * 1-5

Cron 语法很密集并且不可原谅:* 表示每一个,*/5 每五个,1-5 一个范围,1,15 一个列表 - 并且错误不会出错,它会在错误的时间默默地运行您的作业(或者 60 倍频繁,典型的 * * * * * - 而不是每小时事件)。使用简单的英语读回进行可视化构建恰恰可以防止这种情况发生。

关于Cron 表达式解析器

用值、范围或步长设置每个字段(分钟、小时、日、月、工作日),并阅读生成的表达式及其简单的英语含义。

每个人最终都需要的表达式:每晚凌晨 3 点(0 3 * * * — 非高峰会议)、每 15 分钟一次(*/15 * * * *)、工作日早晨(0 8 * * 1-5)、月初(0 0 1 * *)和周日晚上维护(0 23 * * 0)。它们的去向:服务器 crontab (crontab -e)、托管控制面板的 cron 部分、CI 计划(GitHub Actions 的 schedule: 使用相同的五个字段)以及接受原始 cron 的框架调度程序。

构建器使可见的两个经典陷阱:当月中的某天和周中的某天都受到限制时,它们是 OR 组合的 (0 0 13 * 5 在 13 号和每个星期五触发 - 不仅仅是 13 号星期五);并且 cron 在服务器的时区中运行,因此“凌晨 3 点”就是机器认为它位于的任何地方的凌晨 3 点 - 在信任跨 DST 的计划之前进行验证。

常见问题解答

按顺序:分钟 (0-59)、小时 (0-23)、月份 (1-31)、月份 (1-12)、星期 (0-7,0 和 7 都 = 星期日)。 30 2 * * 1 = 每周一 02:30。
* 匹配每个值(每分钟,在分钟字段中); */5 每五个(:00、:05、:10…)。让他们感到困惑的是“每 5 分钟”作业每分钟运行一次的经典方式。
0 0 * * * — 每天 0 小时的 0 分钟。对于“每晚”批量工作,惯例是凌晨 3 点至 4 点 (0 3 * * *):非高峰期且没有午夜边界作业。
Cron 对它们进行 OR 运算:0 0 13 * 5 每 13 号和每个星期五运行一次 — 不仅仅是 13 号星期五。这是该规范中最令人惊讶的规则;实现 AND 需要在作业内进行日期检查。
按顺序:表达式是您所想的(将其粘贴到此处),服务器时区是您所假设的,该命令是否与 cron 的最小路径一起工作(使用绝对路径),以及 cron 日志/邮件是否显示尝试。十个“cron 没有运行”案例中有九个就是这四个案例之一。

We use cookies for analytics and to keep the tools free via ads. See our Privacy Policy.