如何使用Cron 表达式解析器
- 设置每个字段 - 具体值,* 表示每个,*/n 表示步骤,范围如 1-5。
- 阅读简单的英语翻译 - 确认它表达了您的意思。
- 将表达式复制到 crontab、主机的 cron 面板或 CI 计划中。
- 注意服务器时区 - 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 的计划之前进行验证。