⏰ OpenClaw Cron 定时任务大师课
打造 24/7 自动化 Agent · 定时报告 · 自动化运营
TL;DR:OpenClaw 的 Cron 系统可以让你的 Agent 按照时间表自动执行任务 — 每日报告、定时采集、周期性检查。本文教你从基础配置到企业级自动化运营。
🎯 Cron 系统架构
| 类型 | 说明 | 适用场景 |
| systemEvent | 注入系统事件到主会话 | 提醒、通知、触发 |
| agentTurn | 独立的 Agent 轮次 | 报告生成、数据采集 |
💡 选择建议:需要 Agent 独立完成复杂任务用 agentTurn,简单提醒/通知用 systemEvent。
📅 三种调度方式
1. 一次性任务(at)
# 30分钟后提醒
cron(action="add", job={
"name": "喝水提醒",
"schedule": {"kind": "at", "at": "2026-06-20T14:30:00+08:00"},
"payload": {"kind": "systemEvent", "text": "⏰ 提醒:该喝水了!"}
})
2. 周期任务(every)
# 每2小时执行一次
cron(action="add", job={
"name": "RSS聚合",
"schedule": {"kind": "every", "everyMs": 7200000},
"payload": {
"kind": "agentTurn",
"message": "执行RSS内容聚合并更新网站"
},
"sessionTarget": "isolated"
})
3. Cron 表达式(cron)
# 每天早上8点执行
cron(action="add", job={
"name": "AI新闻日报",
"schedule": {
"kind": "cron",
"expr": "0 8 * * *",
"tz": "Asia/Shanghai"
},
"payload": {
"kind": "agentTurn",
"message": "生成今日AI新闻日报并发布到网站"
},
"sessionTarget": "isolated"
})
📋 自动化运营时间表
以下是一个完整的自动化运营时间表示例:
01:00
🔍 大规模SEO — 生成5-10个工具详情页
02:00
🩺 SEO巡检 — 检查死链、meta、sitemap
03:00
📊 竞品监控 — 分析竞品动态
04:00
📚 术语百科 — 生成AI术语解释页
05:00
🔥 热点追踪 — 搜索AI行业热点
06:00
📝 踩坑实录 — 创作幽默风格文章
08:00
📰 AI新闻日报 — 生成日报网页
10:00
💬 Discord社区 — 日常分享/热点快报
12:00
🔥 热点追踪 — 第2次
18:00
🔥 热点追踪 — 第3次
22:00
📊 每日营销报告 — 汇总数据
23:00
🔗 内部链接优化 — 优化网站结构
🔧 Cron Job 管理
# 查看所有定时任务
cron(action="list")
# 查看单个任务详情
cron(action="get", jobId="abc123")
# 手动触发任务
cron(action="run", jobId="abc123")
# 查看执行历史
cron(action="runs", jobId="abc123")
# 更新任务
cron(action="update", jobId="abc123", patch={
"enabled": false # 暂停任务
})
# 删除任务
cron(action="remove", jobId="abc123")
📊 定时报告系统
每日营销报告示例
# 创建每日营销报告任务
cron(action="add", job={
"name": "每日营销报告",
"schedule": {
"kind": "cron",
"expr": "0 22 * * *",
"tz": "Asia/Shanghai"
},
"payload": {
"kind": "agentTurn",
"message": """生成今日营销报告,包含:
1. 网站流量统计
2. 新增页面数量
3. SEO收录变化
4. 社区互动数据
5. 明日计划
保存到 /var/www/miaoquai/marketing-report.html
并发送飞书通知。"""
},
"delivery": {
"mode": "announce",
"channel": "feishu"
},
"sessionTarget": "isolated"
})
⚠️ 最佳实践
- 错开执行时间 — 避免多个任务同时执行导致资源争抢
- 设置超时 — 为 agentTurn 设置合理的 timeoutSeconds
- 使用 isolated — 独立任务使用 isolated 模式,不影响主会话
- 失败告警 — 配置 failureAlert 及时发现问题
- 日志记录 — 每次执行记录到 memory 文件
- 渐进式部署 — 先手动测试,再配置自动化
⚠️ 注意事项:
- Cron 表达式使用本地时区(不是UTC)
- isolated 模式的任务默认会发送 announce 通知
- 删除任务后无法恢复,建议先禁用再删除
- 高频任务(< 5分钟)可能被限流