Introduction
# OpenClaw Backup
Backup and restore OpenClaw configuration, credentials, and workspace.
## Create Backup
Run the backup script:
```bash ./scripts/backup.sh [backup_dir] ```
Default backup location: `~/openclaw-backups/`
Output: `openclaw-YYYY-MM-DD_HHMM.tar.gz`
## What Gets Backed Up
- `openclaw.json` — main config - `credentials/` — API keys, tokens - `agents/` — agent configs, auth profiles - `workspace/` — memory, SOUL.md, user files - `telegram/` — session data - `cron/` — scheduled tasks
## Excluded
- `completions/` — cache, regenerated automatically - `*.log` — logs
## Setup Daily Backup with Cron
Use OpenClaw cron for daily backups with notification:
```json { "name": "daily-backup", "schedule": {"kind": "cron", "expr": "0 3 * * *", "tz": "UTC"}, "payload": { "kind": "agentTurn", "message": "Run ~/.openclaw/backup.sh and report result to user." }, "sessionTarget": "isolated", "delivery": {"mode": "announce"} } ```
## Restore
See [references/restore.md](references/restore.md) for step-by-step restore instructions.
Quick restore:
```bash openclaw gateway stop mv ~/.openclaw ~/.openclaw-old tar -xzf ~/openclaw-backups/openclaw-YYYY-MM-DD_HHMM.tar.gz -C ~ openclaw gateway start ```
## Rotation
Script keeps last 7 backups automatically.