# Openclaw Backup

> Backup OpenClaw workspace, config, and state using the built-in `openclaw backup create` command. Also handles cleanup of old backups and health verification. Triggers: - "backup openclaw", "run backup", "backup now" - "check backup health", "verify backup" - "cleanup old backups", "remove old backups" - First run on new machine → run setup + prompt to create cron job Uses built-in `openclaw backup create` — no extra tools needed. Cron message: "backup openclaw" → runs scripts/backup.py

- Skill: `lord1egypt/openclaw-backup` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lord1egypt/openclaw-backup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lord1egypt/openclaw-backup/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Lord1Egypt (https://skillmd.com/u/lord1egypt)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/lord1egypt/openclaw-backup

---


# openclaw-backup

> See [CHANGELOG.md](./CHANGELOG.md) for version history.

Automated daily backup skill using OpenClaw's built-in `backup create` command.

## Backup Destination

`~/openclaw_backups/` — timestamped `.tar.gz` archives.

## Quick Commands

```bash
# Run backup now
python3 scripts/backup.py

# Run backup with verification
python3 scripts/backup.py --verify

# Verify latest backup
python3 scripts/health_check.py

# Cleanup old backups (dry-run, then --execute to delete)
python3 scripts/cleanup_old_backups.py --days 90
python3 scripts/cleanup_old_backups.py --days 90 --execute

# Setup daily cron at 4 AM
python3 scripts/setup_cron.py
```

## First-Time Setup on New Machine

1. **Test backup:**
   ```bash
   cd skills/openclaw-backup
   python3 scripts/backup.py --verify
   ```

2. **Verify health:**
   ```bash
   python3 scripts/health_check.py
   ```

3. **Setup cron (important — do this!):**
   ```bash
   python3 scripts/setup_cron.py
   ```

   This schedules daily 4 AM HKT backup via OpenClaw cron.
   Without this, backups only run when you manually trigger them.

4. **Verify cron:**
   ```bash
   openclaw cron list
   ```

## Cron Setup (Already Configured)

The daily cron job runs automatically at 04:00 HKT.
Trigger message: `backup openclaw`
Session: isolated

Manage cron:
```bash
# List
openclaw cron list

# Remove
openclaw cron remove openclaw-backup:daily

# Re-add
python3 scripts/setup_cron.py
```

## What Gets Backed Up

- Config files (`~/.openclaw/*.json`)
- Credentials (encrypted by OpenClaw)
- Session history
- Workspace files
- Skills and settings

## Retention

Backups are kept indefinitely by default. Run cleanup periodically:

```bash
# Preview old backups
python3 scripts/cleanup_old_backups.py --days 90

# Delete if looks good
python3 scripts/cleanup_old_backups.py --days 90 --execute
```

Suggested schedule: quarterly.

## Portable — Copy to New Machine

Copy the entire `openclaw-backup/` skill folder to a new machine, then:

```bash
cd skills/openclaw-backup
python3 scripts/backup.py --verify    # test
python3 scripts/setup_cron.py          # schedule daily
python3 scripts/health_check.py        # verify
```

No extra dependencies — uses OpenClaw's built-in `backup create`.
