如何编写Crontab表达式实现23:00至次日7:30每分钟执行任务?
Crontab表达式调整说明
首先明确:你的原表达式* 23,0-7 * * *其实已经包含7:30这个时间点——Crontab的小时字段0-7代表0点整到7点59分的所有分钟,所以7:30会被触发执行。
如果你的实际需求是让任务只执行到7:30(7:30之后不再执行),需要拆分时间范围,调整为:
* 23 * * *; * 0-6 * * *; 0-30 7 * * *
这个表达式的逻辑拆解:
* 23 * * *:23:00-23:59 每分钟执行* 0-6 * * *:00:00-06:59 每分钟执行0-30 7 * * *:07:00-07:30 每分钟执行
你也可以在Crontab文件中添加三个独立的条目,效果完全一致。
如果原表达式确实没触发7:30的任务,优先检查系统时区设置——Crontab使用系统默认时区,若时区与预期不符会导致执行时间偏差。
内容的提问来源于stack exchange,提问作者Dunski
相关产品推荐
相关产品推荐

