我想为上午 10:45 到上午 11:30 的每一分钟编写一个 cron 表达式。有没有办法写出这样的表达式。我知道如果我将开始分钟设置为 45,它不会在 11-11:30 安排任何内容
不。您需要将其分成两个 cron 作业。 45-59 10 * * * 和 0-30 11 * * *。
cron 表达式是一个定义执行任务的时间表的字符串。如果您想要一个跨越多个小时但在任意分钟开始的计划,您可以通过仔细配置 cron 表达式的字段来实现。
语法回顾:
Cron 表达式遵循以下格式:
分钟:0-59
小时:0-23
月份中的某天:1-31
月份:1-12
day_of_week:0-7(其中0和7都代表星期日)
问题:跨多个小时的任意开始分钟
要每小时运行一项任务,从任意分钟(例如,整点后 15 分钟)开始跨多个小时(例如,上午 10 点到下午 4 点),解决方案需要指定分钟和小时范围。
示例 1:上午 10 点到下午 4 点之间每小时 15 点运行
cron 表达式:
15 10-16 * * *
分钟:15 — 从整点 15 分钟开始。
小时:10-16 — 从上午 10 点到下午 4 点。
其他字段 (*) 设置为其默认值,这意味着作业每天、每月和每周运行。
示例 2:上午 8 点到下午 6 点之间每小时 :45 运行一次
cron 表达式:
45 8-18 * * *
分钟:45 — 从整点 45 分钟开始。
时间:8 点至 18 点 — 从上午 8 点到下午 6 点。
其他字段不变。
补充说明
15,45 10-16 * * *
10/30 10-16 * * *