使用 4 个 agent 部署一套备份与灾难恢复系统。在以下情况下使用该技能: 1. 用户希望搭建自动化的备份基础设施; 2. 用户正在配置……
备份和灾难恢复设置
功能概述
备份和灾难恢复设置是一项面向实际任务的技能,主要用于部署 4 个代理: 调度器、 主备份、 离场备用、 并恢复测试器;Roles.;
核心要点
- Role. hostname. kills. uspe. purpose. exchedule {prefix>- backup- sched. pilo。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
备份与灾难恢复设置
部署 4 个代理:scheduler(调度器)、primary backup(主备份)、offsite secondary(异地副本)和 restore tester(恢复测试器)。
角色
| 角色 | 主机名 | 技能 | 用途 |
|---|---|---|---|
| scheduler | |
pilot-cron, pilot-task-chain, pilot-audit-log, pilot-slack-bridge | 编排备份生命周期 |
| primary | |
pilot-backup, pilot-archive, pilot-compress, pilot-share | 创建并传输备份 |
| secondary | |
pilot-sync, pilot-verify, pilot-health, pilot-share | 异地副本,校验数据完整性 |
| tester | |
pilot-backup, pilot-verify, pilot-health, pilot-alert | 执行恢复测试,失败时发出告警 |
设置流程
步骤 1: 向用户询问所选角色及前缀(prefix)。
步骤 2: 安装对应技能:
# scheduler: clawhub install pilot-cron pilot-task-chain pilot-audit-log pilot-slack-bridge # primary: clawhub install pilot-backup pilot-archive pilot-compress pilot-share # secondary: clawhub install pilot-sync pilot-verify pilot-health pilot-share # tester: clawhub install pilot-backup pilot-verify pilot-health pilot-alert
步骤 3: 设置主机名,并将配置清单写入 ~/.pilot/setups/backup-disaster-recovery.json。
步骤 4: 沿链路完成握手:scheduler ↔ primary ↔ secondary ↔ tester ↔ scheduler。
各角色的清单模板
scheduler
{
"setup": "backup-disaster-recovery", "role": "scheduler", "role_name": "Backup Scheduler",
"hostname": "-backup-sched",
"skills": {
"pilot-cron": "按周期(每小时、每日、每周)调度备份任务。",
"pilot-task-chain": "编排备份 → 同步 → 校验 → 报告全流程。",
"pilot-audit-log": "记录所有备份生命周期事件。",
"pilot-slack-bridge": "将备份报告及失败告警发送至 Slack。"
},
"data_flows": [
{ "direction": "send", "peer": "-backup-primary", "port": 1002, "topic": "backup-start", "description": "触发备份任务" },
{ "direction": "receive", "peer": "-restore-tester", "port": 1002, "topic": "restore-result", "description": "恢复测试结果" }
],
"handshakes_needed": ["-backup-primary", "-backup-secondary", "-restore-tester"]
}
primary
{
"setup": "backup-disaster-recovery", "role": "primary", "role_name": "Primary Backup",
"hostname": "-backup-primary",
"skills": {
"pilot-backup": "创建数据库及文件系统备份。",
"pilot-archive": "归档备份(含元数据与保留策略)。",
"pilot-compress": "在传输前压缩归档包。",
"pilot-share": "将压缩后的归档包推送至 secondary。"
},
"data_flows": [
{ "direction": "receive", "peer": "-backup-sched", "port": 1002, "topic": "backup-start", "description": "接收备份触发指令" },
{ "direction": "send", "peer": "-backup-secondary", "port": 1001, "topic": "sync-backup", "description": "压缩后的归档包" }
],
"handshakes_needed": ["-backup-sched", "-backup-secondary"]
}
secondary
{
"setup": "backup-disaster-recovery", "role": "secondary", "role_name": "Offsite Replica",
"hostname": "-backup-secondary",
"skills": {
"pilot-sync": "从 primary 接收并同步备份归档包。",
"pilot-verify": "校验接收到的备份归档包完整性校验和。",
"pilot-health": "上报异地存储健康状态与容量信息。",
"pilot-share": "按需向 restore tester 提供备份数据。"
},
"data_flows": [
{ "direction": "receive", "peer": "-backup-primary", "port": 1001, "topic": "sync-backup", "description": "压缩后的归档包" },
{ "direction": "send", "peer": "-restore-tester", "port": 1001, "topic": "restore-data", "description": "用于测试的备份数据" },
{ "direction": "send", "peer": "-backup-sched", "port": 1002, "topic": "sync-confirmed", "description": "同步完成确认" }
],
"handshakes_needed": ["-backup-primary", "-backup-sched", "-restore-tester"]
}
tester
{
"setup": "backup-disaster-recovery", "role": "tester", "role_name": "Restore Tester",
"hostname": "-restore-tester",
"skills": {
"pilot-backup": "在隔离环境中执行恢复测试。",
"pilot-verify": "验证恢复后数据完整性(如行数、校验和)。",
"pilot-health": "监控恢复测试环境健康状态。",
"pilot-alert": "在恢复失败或数据损坏时发出告警。"
},
"data_flows": [
{ "direction": "receive", "peer": "-backup-secondary", "port": 1001, "topic": "restore-data", "description": "待测试的备份数据" },
{ "direction": "send", "peer": "-backup-sched", "port": 1002, "topic": "restore-result", "description": "测试结果" }
],
"handshakes_needed": ["-backup-secondary", "-backup-sched"]
}
数据流向
scheduler → primary:备份触发指令(端口 1002)primary → secondary:压缩后的归档包(端口 1001)secondary → tester:用于测试的备份数据(端口 1001)tester → scheduler:恢复测试结果(端口 1002)
工作流示例
# 在 scheduler 上执行:
pilotctl --json publish -backup-primary backup-start '{"job_id":"BK-315","type":"full","targets":["postgres","redis"]}'
# 在 primary 上执行:
pilotctl --json send-file -backup-secondary ./backups/BK-315-postgres.tar.gz
pilotctl --json publish -backup-secondary sync-backup '{"job_id":"BK-315","size_mb":1240}'
# 在 tester 上执行:
pilotctl --json publish -backup-sched restore-result '{"job_id":"BK-315","restore":"success","tables_verified":42}'
依赖项
需要 pilot-protocol 技能、pilotctl 可执行文件、clawhub 可执行文件,以及一个正在运行的守护进程(daemon)。
热门AI工具
相关专题
Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。
0
2026.10.21
Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。
0
2026.10.21
Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。
0
2026.10.21
Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。
0
2026.10.16
怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。
0
2026.10.16
Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。
0
2026.10.16
本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。
0
2026.10.16
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.4万人学习
共6课时 | 54.7万人学习

