关于 cron-ops
cron-ops 是用于管理 OpenClaw 定时任务完整生命周期的技能,适合维护生产环境自动化的团队。它支持任务创建、更新、删除、故障排查及载荷清理。
主要功能
- 01创建和更新定时任务
- 02删除不再使用的任务
- 03查看日志并排查故障
- 04修正误报
- 05清理载荷以防注入
适用场景
- 01安排每日备份
- 02排查失败的定时任务
- 03维护 API 轮询任务
- 04清理自动化工作流中的旧任务
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill cron-ops安装后在 Claude Code 中输入/cron-ops确认已加载。
详细介绍
cron-ops
用途
此技能负责 OpenClaw 中 cron 作业的完整生命周期,包括创建、更新、移除、调试、修复误报,以及清理载荷,确保自动化安全可靠。
适用场景
在生产环境中安排备份、数据同步或警报等重复性任务;排查 cron 故障;或维护自动化工作流中的作业规范。适用于服务器维护或 API 轮询等系统自动化场景。
主要功能
- 使用自定义计划和命令创建 cron 作业。
- 更新作业以修改计划、命令或参数。
- 移除作业以清理不再使用的计划。
- 通过记录输出和检查错误来调试作业。
- 分析执行日志并调整筛选条件,以修复误报。
- 清理载荷以防止注入攻击,确保命令安全。
使用模式
始终使用 $OPENCLAW_API_KEY 环境变量进行身份验证。使用 CLI 时,请在命令前加上 openclaw cron。使用 API 时,请使用 https://api.openclaw.com/cron 等 HTTPS 端点。先创建作业,再使用其 ID 进行更新或删除。在代码中,导入 OpenClaw SDK 并同步处理响应。示例模式:更新前检查作业状态,以避免冲突。
常用命令/API
快速操作可使用 OpenClaw CLI,以编程方式访问则可使用 REST API。身份验证需要设置 $OPENCLAW_API_KEY。
-
创建作业(CLI):
openclaw cron create --schedule "0 0 * * *" --command "echo 'Hello'" --payload '{"key": "value"}'
此命令会安排作业每天午夜运行。 -
更新作业(API):
curl -X PUT https://api.openclaw.com/cron/jobs/{jobId} -H "Authorization: Bearer $OPENCLAW_API_KEY" -d '{"schedule": "0 30 * * *", "command": "backup.sh"}'
将现有作业的计划更新为每小时的第 30 分钟运行。 -
移除作业(CLI):
openclaw cron delete --job-id 12345 --force
删除指定作业,并使用--force跳过确认。 -
调试作业(API):
curl -X GET https://api.openclaw.com/cron/jobs/{jobId}/logs -H "Authorization: Bearer $OPENCLAW_API_KEY"
获取日志以供调试;解析 JSON 输出以查看错误详情。 -
修复误报(CLI):
openclaw cron fix --job-id 12345 --filter "error_type=timeout"
通过更新作业配置中的筛选条件来应用修复,从而忽略常见误报。 -
清理载荷(代码片段):
import openclaw client = openclaw.Client(api_key=os.environ['OPENCLAW_API_KEY']) sanitized_payload = client.sanitize({'command': 'echo "unsafe"; rm -rf /'}) print(sanitized_payload) # Outputs a safe version使用此方法在创建作业前清理用户输入的载荷。
作业的配置格式为 JSON,例如 {"schedule": "cron_expression", "command": "shell_command", "payload": {"key": "value"}}。
集成说明
在工作流中引用作业 ID,即可与其他 OpenClaw 技能集成。例如,链接到 logging 技能以增强监控。可在 CLI 命令中添加 --webhook-url 标志来使用 Webhook,例如 openclaw cron create --webhook-url "https://your.service/webhook"。在多服务设置中,通过 Docker 或 CI/CD 管道中的环境变量传递 $OPENCLAW_API_KEY。请使用最新版本的 OpenClaw SDK(v2.5+)以确保兼容性。对于外部系统,请将 cron 计划映射为 Unix crontab 等标准格式。
错误处理
常见错误包括身份验证失败(HTTP 401)、计划无效(HTTP 400)或作业冲突(HTTP 409)。可通过检查响应代码来处理:如果状态码为 401,请检查 $OPENCLAW_API_KEY。对于无效计划,请使用 openclaw cron validate --schedule "invalid" 进行验证。在代码中,使用 try-except 块:
try:
response = client.create_job(schedule="0 0 * * *")
except openclaw.AuthError as e:
print("Auth failed: Set $OPENCLAW_API_KEY")
except openclaw.ValidationError as e:
print(f"Invalid input: {e}")
使用指数退避重试瞬时错误。记录所有错误,并附上作业 ID 以便追踪。
具体使用示例
-
创建每日备份任务:
首先,设置$OPENCLAW_API_KEY。然后运行:openclaw cron create --schedule "0 2 * * *" --command "rsync -a /data/ /backup/"。使用openclaw cron list验证。这样就能在每天凌晨 2 点自动备份,若失败,还可以排查日志。 -
排查并修复失败的 cron 任务:
使用openclaw cron list --status failed找出任务。排查:curl -X GET https://api.openclaw.com/cron/jobs/12345/logs -H "Authorization: Bearer $OPENCLAW_API_KEY"。如果是误报,使用openclaw cron fix --job-id 12345 --filter "status=timeout"修复。这可以解决计划任务中的网络超时等问题。
图关系
- 依赖于:core-openclaw(用于基础 API)
- 相关:scheduling(用于高级定时器)、automation(用于工作流集成)
- 冲突:无
- 扩展:jobs(用于通用任务管理)