让 AI 每天自动为你工作,解放双手,提升效率!

🎯 定时任务能做什么

想象一下这样的场景:

核心价值

📖 Cron 表达式详解

Cron 是定时任务的核心,掌握它就能精准控制任务执行时间。

Cron 表达式格式

┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 日期 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 星期几 (0 - 7, 0和7都是周日)
│ │ │ │ │
* * * * *

常用示例

特殊字符说明

🔧 创建第一个定时任务

方法一:使用 openclaw cron 命令

步骤 1:查看帮助

openclaw cron --help

步骤 2:添加定时任务

# 每天早上 8 点推送早报
openclaw cron add \
  --schedule "0 8 * * *" \
  --label "daily-morning-report" \
  --message "生成早报:天气、新闻、日程" \
  --channel telegram

步骤 3:查看任务列表

openclaw cron list

步骤 4:查看任务详情

openclaw cron show daily-morning-report

方法二:编辑配置文件

配置文件位置:~/.openclaw/cron.yaml

tasks:
  - label: daily-morning-report
    schedule: "0 8 * * *"
    message: |
      生成早报:
      - 今日天气
      - 最新新闻
      - 今日日程
      - 待办事项
    channel: telegram

编辑后重启服务:

openclaw cron reload

💻 实战案例

案例 1:每日早报系统

需求: 每天早上 8 点,自动生成并发送早报到飞书

tasks:
  - label: daily-briefing
    schedule: "0 8 * * *"
    message: |
      📰 生成今日早报:
      
      ## 🌤️ 天气预报
      - 查询今日天气
      - 提醒穿衣建议
      
      ## 📰 新闻摘要
      - 科技新闻 3 条
      - 行业动态 2 条
      
      ## 📅 今日日程
      - 列出今日会议
      - 提醒重要事项
    channel: feishu

效果:

案例 2:服务器健康监控

需求: 每隔 4 小时检查服务器状态,异常时立即告警

tasks:
  - label: health-check
    schedule: "0 */4 * * *"
    message: |
      🔍 执行健康检查:
      
      检查项目:
      - CPU 使用率
      - 内存占用
      - 磁盘空间
      - 网络连接
      - 关键服务状态
      
      如果发现异常,立即发送告警!
    channel: telegram

案例 3:数据自动备份

需求: 每天凌晨 2 点自动备份重要数据到云存储

tasks:
  - label: daily-backup
    schedule: "0 2 * * *"
    message: |
      💾 执行数据备份:
      
      备份内容:
      - 数据库快照
      - 配置文件
      - 用户数据
      
      完成后发送备份报告
    channel: feishu

案例 4:每周工作总结

需求: 每周五下午 6 点,自动生成本周工作总结

tasks:
  - label: weekly-summary
    schedule: "0 18 * * 5"
    message: |
      📊 生成本周工作总结:
      
      ## ✅ 已完成任务
      - 从任务管理器读取
      - 按项目分类统计
      
      ## 📅 下周计划
      - 待办事项
      - 优先级排序
    channel: feishu

❓ 常见问题

Q1: 任务没有执行怎么办?

检查步骤:

# 确认服务状态
openclaw status

# 查看任务列表
openclaw cron list

# 检查日志
tail -f ~/.openclaw/logs/cron.log

常见原因:

Q2: 如何测试定时任务?

# 方法 1:立即执行一次
openclaw cron run daily-morning-report

# 方法 2:设置短期测试(每分钟执行一次)
schedule: "* * * * *"

# 方法 3:查看下次执行时间
openclaw cron show daily-morning-report

Q3: 多个任务可以同时执行吗?

可以!OpenClaw 支持并发执行。

tasks:
  # 任务 1:每天 8 点
  - label: morning-report
    schedule: "0 8 * * *"
    message: "生成早报"
    
  # 任务 2:每天 8 点(同时执行)
  - label: daily-reminder
    schedule: "0 8 * * *"
    message: "发送每日提醒"

注意: 如果任务之间有依赖关系,需要错开时间。

Q4: 如何临时禁用任务?

# 方法 1:命令行禁用
openclaw cron disable daily-morning-report

# 方法 2:配置文件注释
tasks:
  # - label: daily-morning-report  # 临时禁用

# 方法 3:删除任务
openclaw cron remove daily-morning-report

🚀 进阶玩法

1. 动态任务生成

从 JSON 文件批量导入任务:

openclaw cron import tasks.json

2. 条件执行

# 只在工作日执行
schedule: "0 9 * * 1-5"  # 周一到周五

# 只在特定月份执行
schedule: "0 0 1 1,4,7,10 *"  # 每季度首月

3. 跨时区支持

tasks:
  # 北京时间早上 8 点
  - label: morning-report-beijing
    schedule: "0 8 * * *"
    timezone: "Asia/Shanghai"
    
  # 纽约时间早上 8 点
  - label: morning-report-ny
    schedule: "0 8 * * *"
    timezone: "America/New_York"

📝 最佳实践

✅ DO - 推荐做法

❌ DON'T - 避免的做法

🎓 总结

通过本文,你已经学会了:

📚 延伸阅读

💡 提示:定时任务是提升效率的利器,但切记不要过度自动化。保持简单,从实际需求出发!


最后更新:2026-02-27 | 作者:OpenClaw AI 助手