pilot-backup-disaster-recovery-setup

Deploy a backup and disaster recovery system with 4 agents. Use this skill when: 1. User wants to set up automated backup infrastructure 2. User is configuring a scheduler, backup, offsite replica, or restore tester agent 3. User asks about disaster recovery, offsite sync, or backup verification Do NOT use this skill when: - User wants a single backup operation (use pilot-backup instead) - User wants to verify a single file (use pilot-verify instead)

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pilot-backup-disaster-recovery-setup" with this command: npx skills add vulture-labs/pilot-backup-disaster-recovery-setup

Backup & Disaster Recovery Setup

Deploy 4 agents: scheduler, primary backup, offsite secondary, and restore tester.

Roles

RoleHostnameSkillsPurpose
scheduler<prefix>-backup-schedpilot-cron, pilot-task-chain, pilot-audit-log, pilot-slack-bridgeOrchestrates backup lifecycle
primary<prefix>-backup-primarypilot-backup, pilot-archive, pilot-compress, pilot-shareCreates and ships backups
secondary<prefix>-backup-secondarypilot-sync, pilot-verify, pilot-health, pilot-shareOffsite replica, verifies integrity
tester<prefix>-restore-testerpilot-backup, pilot-verify, pilot-health, pilot-alertTests restores, alerts on failures

Setup Procedure

Step 1: Ask the user which role and prefix.

Step 2: Install skills:

# 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

Step 3: Set hostname and write manifest to ~/.pilot/setups/backup-disaster-recovery.json.

Step 4: Handshake along the chain: scheduler↔primary↔secondary↔tester↔scheduler.

Manifest Templates Per Role

scheduler

{
  "setup": "backup-disaster-recovery", "role": "scheduler", "role_name": "Backup Scheduler",
  "hostname": "<prefix>-backup-sched",
  "skills": {
    "pilot-cron": "Schedule periodic backup jobs (hourly, daily, weekly).",
    "pilot-task-chain": "Orchestrate backup → sync → verify → report.",
    "pilot-audit-log": "Log all backup lifecycle events.",
    "pilot-slack-bridge": "Send backup reports and failure alerts to Slack."
  },
  "data_flows": [
    { "direction": "send", "peer": "<prefix>-backup-primary", "port": 1002, "topic": "backup-start", "description": "Trigger backup jobs" },
    { "direction": "receive", "peer": "<prefix>-restore-tester", "port": 1002, "topic": "restore-result", "description": "Restore test results" }
  ],
  "handshakes_needed": ["<prefix>-backup-primary", "<prefix>-backup-secondary", "<prefix>-restore-tester"]
}

primary

{
  "setup": "backup-disaster-recovery", "role": "primary", "role_name": "Primary Backup",
  "hostname": "<prefix>-backup-primary",
  "skills": {
    "pilot-backup": "Create database and filesystem backups.",
    "pilot-archive": "Archive backups with metadata and retention.",
    "pilot-compress": "Compress archives before transfer.",
    "pilot-share": "Ship compressed archives to secondary."
  },
  "data_flows": [
    { "direction": "receive", "peer": "<prefix>-backup-sched", "port": 1002, "topic": "backup-start", "description": "Backup triggers" },
    { "direction": "send", "peer": "<prefix>-backup-secondary", "port": 1001, "topic": "sync-backup", "description": "Compressed archives" }
  ],
  "handshakes_needed": ["<prefix>-backup-sched", "<prefix>-backup-secondary"]
}

secondary

{
  "setup": "backup-disaster-recovery", "role": "secondary", "role_name": "Offsite Replica",
  "hostname": "<prefix>-backup-secondary",
  "skills": {
    "pilot-sync": "Receive and sync backup archives from primary.",
    "pilot-verify": "Verify integrity checksums on received backups.",
    "pilot-health": "Report offsite storage health and capacity.",
    "pilot-share": "Provide backups to restore tester on demand."
  },
  "data_flows": [
    { "direction": "receive", "peer": "<prefix>-backup-primary", "port": 1001, "topic": "sync-backup", "description": "Compressed archives" },
    { "direction": "send", "peer": "<prefix>-restore-tester", "port": 1001, "topic": "restore-data", "description": "Backups for testing" },
    { "direction": "send", "peer": "<prefix>-backup-sched", "port": 1002, "topic": "sync-confirmed", "description": "Sync confirmation" }
  ],
  "handshakes_needed": ["<prefix>-backup-primary", "<prefix>-backup-sched", "<prefix>-restore-tester"]
}

tester

{
  "setup": "backup-disaster-recovery", "role": "tester", "role_name": "Restore Tester",
  "hostname": "<prefix>-restore-tester",
  "skills": {
    "pilot-backup": "Perform test restores in isolated environment.",
    "pilot-verify": "Verify restored data integrity (row counts, checksums).",
    "pilot-health": "Monitor restore test environment health.",
    "pilot-alert": "Alert on restore failures or data corruption."
  },
  "data_flows": [
    { "direction": "receive", "peer": "<prefix>-backup-secondary", "port": 1001, "topic": "restore-data", "description": "Backups to test" },
    { "direction": "send", "peer": "<prefix>-backup-sched", "port": 1002, "topic": "restore-result", "description": "Test results" }
  ],
  "handshakes_needed": ["<prefix>-backup-secondary", "<prefix>-backup-sched"]
}

Data Flows

  • scheduler → primary : backup triggers (port 1002)
  • primary → secondary : compressed archives (port 1001)
  • secondary → tester : backups for testing (port 1001)
  • tester → scheduler : restore test results (port 1002)

Workflow Example

# On scheduler:
pilotctl --json publish <prefix>-backup-primary backup-start '{"job_id":"BK-315","type":"full","targets":["postgres","redis"]}'
# On primary:
pilotctl --json send-file <prefix>-backup-secondary ./backups/BK-315-postgres.tar.gz
pilotctl --json publish <prefix>-backup-secondary sync-backup '{"job_id":"BK-315","size_mb":1240}'
# On tester:
pilotctl --json publish <prefix>-backup-sched restore-result '{"job_id":"BK-315","restore":"success","tables_verified":42}'

Dependencies

Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

Keep My Claw — OpenClaw Backup

Backup, restore, and manage encrypted OpenClaw agent snapshots using the Keep My Claw API for configuration, workspace files, and credentials.

Registry SourceRecently Updated
1K0Profile unavailable
Security

Openclaw Backup

Encrypted backup and restore for OpenClaw agents. Two-tier archives: operational data safe for cloud storage, secrets encrypted with age for local recovery....

Registry SourceRecently Updated
2160Profile unavailable
Security

Claw Soul Backup

Store encrypted OpenClaw workspace backups and restore them via token-secured API using claw-vault.com with local encryption and credential management.

Registry SourceRecently Updated
4370Profile unavailable
General

3-Tier Auto-Backup Daily Snapshots, Drive Mirror & Emergency Recovery

Automated backup in 3 layers: daily timestamped snapshots, secondary drive mirror, and emergency conversation export.

Registry Source
2560Profile unavailable