โ† Back to CLI Utilities
CLI Utilities by @vacinc

simple-backup

Backup agent brain (workspace) and body (state) to local folder

0
Source Code

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