Back to skills
extension
Category: Security & ComplianceNo API key required

Simple Backup

Backup agent brain (workspace) and body (state) to local folder and optionally sync to cloud via rclone.

personAuthor: vacinchubclawhub

Simple Backup

A robust backup script that:

  1. Auto-detects workspace and state directories from OpenClaw config
  2. Allows overrides for custom/non-standard setups
  3. Compresses & encrypts using GPG (AES256)
  4. Prunes old backups (Daily/Hourly retention)
  5. Syncs to cloud via rclone (optional)

Setup

  1. Dependencies:

    brew install rclone gnupg jq
    
  2. Password: Set encryption password (choose one):

    • File: ~/.openclaw/credentials/backup.key (recommended)
    • Env: export BACKUP_PASSWORD="secret"
    • Config: Add "password": "secret" to skill config
  3. Cloud (Optional):

    rclone config
    

Usage

simple-backup

Auto-Detection

By default, paths are auto-detected from ~/.openclaw/openclaw.json:

  • Workspace: agents.defaults.workspace
  • State: ~/.openclaw (where config lives)
  • Backup root: <workspace>/BACKUPS

Custom Configuration

For non-standard setups, override any path in ~/.openclaw/openclaw.json:

{
  "skills": {
    "entries": {
      "simple-backup": {
        "config": {
          "workspaceDir": "/custom/path/workspace",
          "stateDir": "/custom/path/state",
          "skillsDir": "/custom/path/skills",
          "backupRoot": "/custom/path/backups",
          "remoteDest": "gdrive:backups"
        }
      }
    }
  }
}

Configuration Reference

| Config Key | Env Var | Auto-Detected | Description | |------------|---------|---------------|-------------| | workspaceDir | BRAIN_DIR | agents.defaults.workspace | Agent workspace | | stateDir | BODY_DIR | ~/.openclaw | OpenClaw state dir | | skillsDir | SKILLS_DIR | ~/openclaw/skills | Skills directory | | backupRoot | BACKUP_ROOT | <workspace>/BACKUPS | Local backup storage | | remoteDest | REMOTE_DEST | (none) | Rclone remote path | | maxDays | MAX_DAYS | 7 | Days to keep daily backups | | hourlyRetentionHours | HOURLY_RETENTION_HOURS | 24 | Hours to keep hourly | | password | BACKUP_PASSWORD | (none) | Encryption password |

Priority: Config file → Env var → Auto-detect