You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Cron Job实现每日11:30至19:00每30分钟执行Python脚本?

修复Cron表达式及替代调度方案

问题分析

你当前的Cron表达式*/30 11-19 * * *的问题在于:

  • */30表示每小时的0分和30分都触发,因此11:00会被执行,不符合起始时间要求
  • 小时范围11-19包含19点整和19点30分,所以会触发19:30的任务,超出结束时间

修复后的Cron方案

要精准覆盖11:30、12:00……19:00的执行点,需要拆分配置为3个独立的Cron任务:

  1. 11点仅执行30分:
    30 11 * * * /usr/bin/python3 /mnt/h/WorkSpace/Projects/Backlog_Buddy_Bot/CTest.py
    
  2. 12点到18点每30分钟执行一次:
    */30 12-18 * * * /usr/bin/python3 /mnt/h/WorkSpace/Projects/Backlog_Buddy_Bot/CTest.py
    
  3. 19点仅执行0分:
    0 19 * * * /usr/bin/python3 /mnt/h/WorkSpace/Projects/Backlog_Buddy_Bot/CTest.py
    

这三个任务组合后,完全匹配你需要的所有时间点,且不会触发11:00和19:30的任务。

替代调度工具方案

如果觉得Cron拆分配置太繁琐,可以用Python的调度库实现更灵活的控制:

APScheduler(推荐)

APScheduler支持多种调度方式,代码示例如下:

from apscheduler.schedulers.blocking import BlockingScheduler
import subprocess

def run_script():
    subprocess.run(["/usr/bin/python3", "/mnt/h/WorkSpace/Projects/Backlog_Buddy_Bot/CTest.py"])

if __name__ == "__main__":
    scheduler = BlockingScheduler()
    # 11-18点,每小时的0分和30分执行
    scheduler.add_job(run_script, 'cron', hour='11-18', minute='0,30')
    # 单独添加19:00的任务
    scheduler.add_job(run_script, 'cron', hour='19', minute='0')
    scheduler.start()

将这段代码保存为schedule_script.py,后台运行即可(比如用nohup python3 schedule_script.py &)。

schedule库

更轻量的调度库,代码示例:

import schedule
import time
import subprocess

def run_script():
    subprocess.run(["/usr/bin/python3", "/mnt/h/WorkSpace/Projects/Backlog_Buddy_Bot/CTest.py"])

# 设置11:30的任务
schedule.every().day.at("11:30").do(run_script)
# 设置12:00到18:30每30分钟的任务
for hour in range(12, 19):
    schedule.every().day.at(f"{hour}:00").do(run_script)
    if hour < 18:
        schedule.every().day.at(f"{hour}:30").do(run_script)
# 设置19:00的任务
schedule.every().day.at("19:00").do(run_script)

while True:
    schedule.run_pending()
    time.sleep(60)

内容的提问来源于stack exchange,提问作者Gautham Santhosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 09:55:28