OpenClaw Cron:让AI Agent按时上班的秘密
凌晨1点,全世界都在睡觉,但你的Agent已经悄悄开始工作了。生成内容、检查数据、发送报告——这就是Cron定时任务的魔力。不需要你盯着,它会准时出现。
什么是 Cron 自动化?
OpenClaw内置强大的Cron调度系统,可以:
- 定时执行任务:每日报告、定期检查
- 触发Agent行动:让Agent在指定时间工作
- 发送提醒:重要事项定时提醒
- 自动化运维:系统健康检查、日志清理
任务调度类型
1. 时间点执行(At)
在特定时间执行一次:
{
"schedule": {
"kind": "at",
"at": "2026-03-20T08:00:00+08:00"
}
}
2. 间隔执行(Every)
按固定间隔重复执行:
{
"schedule": {
"kind": "every",
"everyMs": 3600000 // 每小时执行
}
}
3. Cron表达式
使用标准Cron语法:
{
"schedule": {
"kind": "cron",
"expr": "0 8 * * *", // 每天早上8点
"tz": "Asia/Shanghai"
}
}
Cron表达式速查
| 表达式 | 含义 | 使用场景 |
|---|---|---|
0 8 * * * |
每天8:00 | 早安报告 |
0 */2 * * * |
每2小时 | 定期检查 |
0 9 * * 1 |
每周一9:00 | 周报生成 |
0 0 1 * * |
每月1号0:00 | 月度总结 |
0 8,12,18 * * * |
每天8/12/18点 | 每日三次 |
创建定时任务
使用Cron工具创建任务:
{
"name": "每日新闻摘要",
"schedule": {
"kind": "cron",
"expr": "0 8 * * *",
"tz": "Asia/Shanghai"
},
"payload": {
"kind": "agentTurn",
"message": "请生成今日AI新闻摘要报告"
},
"sessionTarget": "isolated",
"delivery": {
"mode": "announce",
"channel": "daily-reports"
}
}
任务负载类型
SystemEvent(主会话)
"payload": {
"kind": "systemEvent",
"text": "该检查今日任务了"
}
AgentTurn(隔离会话)
"payload": {
"kind": "agentTurn",
"message": "执行SEO巡检任务",
"timeoutSeconds": 300
}
任务管理
# 查看所有任务
cron action=list
# 查看任务详情
cron action=status jobId=daily-news
# 手动触发任务
cron action=run jobId=daily-news
# 查看执行历史
cron action=runs jobId=daily-news
# 删除任务
cron action=remove jobId=daily-news
任务监控
每个任务都有执行历史记录:
- 执行时间:实际开始和结束时间
- 执行状态:成功/失败/超时
- 输出结果:任务执行产物
- 错误信息:失败原因和堆栈
故障排查
任务未执行
- 检查Cron表达式是否正确
- 确认时区设置
- 验证任务是否启用
任务执行失败
- 查看执行日志了解错误
- 检查Agent是否有足够权限
- 确认外部依赖是否可用
最佳实践
- 合理设置超时:避免任务无限运行
- 添加错误处理:任务失败时发送通知
- 避免密集调度:给系统留出喘息空间
- 使用隔离会话:防止任务相互干扰
相关链接
⏰ 想让Agent按时干活?来 Discord社区 分享你的自动化方案!