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
-
Test backup:
cd skills/openclaw-backup
python3 scripts/backup.py --verify
-
Verify health:
python3 scripts/health_check.py
-
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.
-
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.