Cron表达式生成器
免费在线 Cron 表达式生成器,免安装。可视化编辑,显示下次执行时间
什么是 Cron 表达式?
Cron 是类 Unix 系统中基于时间的作业调度程序。cron 表达式是一个由 5 个字段组成的字符串,用空格分隔:分钟 (0-59)、小时 (0-23)、每月的某一天 (1-31)、月份 (1-12) 和星期几 (0-6,其中 0 是星期日)。每个字段可以使用特定值、范围(* 是「每」的通配符)、列表(逗号分隔)或间隔(*/n 表示「每 n 个单位」)。Cron 作业在由表达式定义的计划时间自动运行。
如何使用 Cron 表达式生成器
对于每个字段(分钟、小时、日、月、星期),选择一种模式:每 (*)、特定(输入精确值)、范围(从-到)或间隔(每 N)。根据您希望作业运行的时间配置每个字段。该工具显示生成的 cron 表达式,并根据当前时间预览接下来 5 次执行时间。复制表达式以在您的 crontab、调度程序或自动化工具中使用。
了解 Cron 字段交互
日期和星期字段都指定天。在许多 cron 实现中,如果两者都受限制(非 *),则在任一条件匹配时运行作业(或逻辑)。某些系统使用与逻辑。如果您指定日期 15 和星期 1(星期一),它会在每月的 15 日和每个星期一运行。请精确表达您的意图,并在特定的 cron 环境中测试以验证行为。
▶@daily 和 0 0 * * * 有什么区别?
它们是等效的。两者都意味着「每天午夜运行」。Cron 有快捷方式:@yearly (0 0 1 1 *)、@monthly (0 0 1 * *)、@weekly (0 0 * * 0)、@daily (0 0 * * *)、@hourly (0 * * * *) 和 @reboot(启动时运行一次)。此工具生成完整的 5 字段格式以获得最大的兼容性。
▶如何安排每 5 分钟运行一次作业?
使用间隔模式:将分钟设置为「*/5」(每 5 分钟)。其他字段应为「*」(每)。表达式「*/5 * * * *」每 5 分钟、全天、每天运行。对于每 N 分钟、小时或天,请在相应字段中使用 */N 语法。
▶我可以安排复杂的模式,如「每月的最后一个星期五」吗?
标准 cron 不直接支持「每月的最后一个星期五」。某些 cron 实现支持扩展,如 @monthly 或 L(最后)或 W(工作日)修饰符。此工具生成标准的 5 字段 cron。对于复杂的计划,您可能需要 crontab 扩展或外部库,如 node-cron,它们支持更丰富的表达式。
▶为什么我的 cron 作业没有在预期的时间运行?
常见问题:时区不匹配(cron 使用服务器时区)、系统时间不正确、cron 守护进程未运行、crontab 语法错误或权限问题。还要验证您的命令路径是绝对的或在 crontab 中设置 PATH。手动测试:从 shell 运行命令以确认其在调度之前有效。
如果这个工具帮到了你,可以请作者喝杯咖啡。
请我喝杯咖啡