Simple Backup

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

MIT-0 · Free to use, modify, and redistribute. No attribution required.
5 · 4.4k · 22 current installs · 22 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The script performs exactly what the description says: detects OpenClaw paths, stages workspace/state/skills, compresses with tar, encrypts with GPG, prunes old backups, and optionally syncs via rclone. Minor mismatch: the runtime script uses rsync but the declared required binaries list and metadata do not include rsync. package.json lists 'rclone' and 'gpg' under npm 'dependencies' (these are system binaries, not npm packages), which is a packaging/metadata inconsistency but not evidence of malicious intent.
Instruction Scope
SKILL.md and the script instruct the agent to read ~/.openclaw/openclaw.json and then copy the entire workspace, state, and skills directories (subject to configured exclusions). That behavior is expected for a full backup tool. There are no hidden network endpoints or unexpected data exfiltration steps beyond optional rclone sync to the user-configured remote.
Install Mechanism
No install spec is provided (instruction-only + included script), so nothing is downloaded at install time. package.json exists but no install/download behavior is defined. The npm 'dependencies' entry is incorrect (lists system tools) — this is a packaging mistake, not an active install risk.
Credentials
No required credentials are declared. The script accepts a BACKUP_PASSWORD (env var, skill config, or key file at ~/.openclaw/credentials/backup.key), which is appropriate for symmetric encryption. It reads local OpenClaw config and filesystem paths (expected). There are no unrelated external credential requests.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or global agent configuration. It runs as a one-off backup tool and only accesses files/dirs relevant to backup.
Assessment
This skill appears to do what it says, but review a few items before use: 1) The script calls rsync but rsync is not listed in the required binaries — install rsync or add it to your checks. 2) package.json incorrectly lists system tools as npm dependencies; ignore or fix this if packaging is required. 3) The script will read and copy your entire OpenClaw state, workspace, and skills directories — verify there is no sensitive data you don't want included or ensure the backupRoot is secure. 4) Encryption password handling: BACKUP_PASSWORD can come from an env var, skill config, or ~/.openclaw/credentials/backup.key — make sure any file storing the password has tight filesystem permissions and consider using a secrets manager if available. 5) If you enable rclone sync, verify your rclone remote is correctly configured and test with a non-sensitive destination first. 6) Run the script in a dry-run/test mode on a small dataset and inspect outputs before scheduling automatic or frequent runs. These are best-practice cautions; nothing in the code indicates covert exfiltration or intent to misuse credentials.

Like a lobster shell, security has layers — review code before you run it.

Current versionv2.2.0
Download zip
latestvk970bwt4wqky2m9mwqpmyjww1n80bg4n

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

💾 Clawdis
Binsrclone, gpg, tar, jq

SKILL.md

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 KeyEnv VarAuto-DetectedDescription
workspaceDirBRAIN_DIRagents.defaults.workspaceAgent workspace
stateDirBODY_DIR~/.openclawOpenClaw state dir
skillsDirSKILLS_DIR~/openclaw/skillsSkills directory
backupRootBACKUP_ROOT<workspace>/BACKUPSLocal backup storage
remoteDestREMOTE_DEST(none)Rclone remote path
maxDaysMAX_DAYS7Days to keep daily backups
hourlyRetentionHoursHOURLY_RETENTION_HOURS24Hours to keep hourly
passwordBACKUP_PASSWORD(none)Encryption password

Priority: Config file → Env var → Auto-detect

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…