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
by@VACInc
MIT-0
Security Scan
OpenClaw
Benign
medium confidencePurpose & 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 ziplatest
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:
- Auto-detects workspace and state directories from OpenClaw config
- Allows overrides for custom/non-standard setups
- Compresses & encrypts using GPG (AES256)
- Prunes old backups (Daily/Hourly retention)
- Syncs to cloud via
rclone(optional)
Setup
-
Dependencies:
brew install rclone gnupg jq -
Password: Set encryption password (choose one):
- File:
~/.openclaw/credentials/backup.key(recommended) - Env:
export BACKUP_PASSWORD="secret" - Config: Add
"password": "secret"to skill config
- File:
-
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
Files
3 totalSelect a file
Select a file to preview.
Comments
Loading comments…
