backup claw
Backup and restore OpenClaw configuration files. Use when the user wants to backup ~/.openclaw/ configuration (excluding workspace) to a date-stamped directo...
Description
name: backupclaw description: Backup and restore OpenClaw configuration files. Use when the user wants to backup ~/.openclaw/ configuration (excluding workspace) to a date-stamped directory, or restore from a previous backup. Includes backup with diff-based change detection and changelog logging, and restore by date. The backup directory path ($backup_claw_dir) must be obtained from the user before first use.
Backupclaw
Overview
Full backup and restore capability for OpenClaw configuration files. Backups are stored in date-stamped directories (YYYY-MM-DD format). Only performs backup when configuration has actually changed.
Core Operations
0. Backup Directory Management (NEW)
Configuration file:
- Location:
~/.openclaw/backup.json - Format:
{ "backup_location": "/path/to/backup/directory" }
Get backup directory:
- Check if
~/.openclaw/backup.jsonexists - If exists, read "backup_location" field
- If missing or file doesn't exist:
- Ask user for backup directory path
- Create
~/.openclaw/backup.jsonwith the provided path - Confirm path to user
Change backup directory (changedir command):
When user runs backupclaw changedir <new_path>:
- Validate new path exists and is writable
- Update
~/.openclaw/backup.jsonwith new path - Inform user of successful change
Example changedir usage:
- "backupclaw changedir ~/backups/openclaw"
- "修改备份目录到 /mnt/backup/openclaw"
1. Backup Configuration
Backup directory setup:
- Get backup directory using the management flow above (Section 0)
- No longer store in TOOLS.md; use backup.json instead
Backup process:
- Generate current date string in YYYY-MM-DD format
- If backup directory has no previous backups:
- Copy all files from
~/.openclaw/to$backup_claw_dir/YYYY-MM-DD/, excludingworkspace/ - Record initial backup in changelog
- Copy all files from
- If previous backups exist:
- Find the most recent backup directory (latest date)
- Compare files between latest backup and current
~/.openclaw/usingdiff - If no changes detected: Tell user "配置文件没有变化,不需要备份"
- If changes detected:
- Create new date-stamped directory
- Copy all files from
~/.openclaw/to new directory, excludingworkspace/ - Update changelog with list of modified files
- Report changes to user
Changelog format:
- Located at
$backup_claw_dir/changelog.md - Each entry includes date, time, and list of changed files
- Format example:
## 2026-03-12 14:30:00 - openclaw.json (modified) - extensions/feishu/skills/feishu-doc/SKILL.md (added)
Exclusion rules:
- Always exclude
workspace/directory from backup - Preserve directory structure for all other files
2. Restore Configuration
Restore process:
- Accept date parameter in YYYY-MM-DD format
- Verify backup directory exists at
$backup_claw_dir/YYYY-MM-DD/ - If backup not found, inform user and list available dates
- If backup found:
- Warn user about overwriting current configuration
- Confirm before proceeding
- Restore files from backup to
~/.openclaw/ - Exclude
workspace/from restoration - Report success and list restored files
Usage Examples
Typical user requests that trigger this skill:
- "backup my openclaw config"
- "restore openclaw backup from 2026-03-12"
- "check if config changed"
- "备份 openclaw 配置"
- "恢复 2026-03-12 的备份"
- "backupclaw changedir ~/backups/openclaw"
- "修改备份目录" (prompts for new path)
Implementation Notes
Tools to use:
rsyncorcp -rfor copying filesdifffor comparing file contentsfindwithsortandtailto find latest backup- Date command:
date +%Y-%m-%d readandwritetools for managing~/.openclaw/backup.json
Backup directory management:
- Always check
~/.openclaw/backup.jsonfirst before asking user - Only prompt for backup path if backup_location is not set
- Validate directory exists and is writable before saving
- Use
writetool to create/update backup.json
changedir command handling:
- Parse command format:
backupclaw changedir <path>or equivalent Chinese phrasing - Validate new directory exists and is writable (create if doesn't exist, ask first)
- Update backup.json with new path
- Confirm successful change to user
Backup directory structure:
$backup_claw_dir/
├── 2026-03-12/
│ ├── openclaw.json
│ ├── agents/
│ ├── extensions/
│ └── ...
├── 2026-03-13/
│ └── ...
└── changelog.md
Error handling:
- Always verify backup directory exists and is writable before proceeding
- Check for sufficient disk space
- Validate date format for restore operation
- Provide clear error messages in Chinese when appropriate
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!