OpenClaw Backup

Other

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

Install

openclaw skills install openclawbackup

openclaw-backup

See 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

# 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:

    cd skills/openclaw-backup
    python3 scripts/backup.py --verify
    
  2. Verify health:

    python3 scripts/health_check.py
    
  3. Setup cron (important — do this!):

    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:

    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:

# 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:

# 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:

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.