69 lines
1.5 KiB
Markdown
69 lines
1.5 KiB
Markdown
---
|
|
name: openclaw-backup
|
|
description: Backup and restore OpenClaw data. Use when user asks to create backups, set up automatic backup schedules, restore from backup, or manage backup rotation. Handles ~/.openclaw directory archiving with proper exclusions.
|
|
---
|
|
|
|
# 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.
|