| name | self-backup |
| description | Backup important OpenClaw workspace files to a GitHub repository. Use when: (1) user wants to backup workspace configuration, (2) sync OpenClaw settings to GitHub, (3) preserve automation scripts and personal configuration, (4) create remote backup of AGENTS.md, SOUL.md, MEMORY.md, and other workspace files. Configurable for any GitHub repository. |
Self Backup
Backup critical OpenClaw workspace files to your GitHub repository for safe keeping and version control.
Setup
1. Install GitHub CLI (if not already installed)
sudo apt install gh
brew install gh
2. Login to GitHub
gh auth login
3. Configure your backup repository
Edit the configuration in the backup script or set environment variables:
export BACKUP_REPO_URL="https://github.com/YOUR_USERNAME/YOUR_BACKUP_REPO.git"
nano scripts/backup.sh
4. Create your backup repository
gh repo create YOUR_USERNAME/openclaw-backup --private --description "OpenClaw workspace backup"
What Gets Backed Up
Core Configuration Files
AGENTS.md - Workflow documentation and procedures
SOUL.md - Personal assistant personality and behavior
USER.md - Personal profile and preferences
MEMORY.md - Long-term memory and important context
IDENTITY.md - Assistant identity and emoji
TOOLS.md - Tool configuration and local notes
AUTOMATION.md - Cron and scheduling documentation
openclaw.json - OpenClaw system settings (tokens sanitized for security)
Scripts & Automation
scripts/ directory - All automation scripts
memory/ directory - Daily memory logs (last 30 days)
- Custom configuration files
Skills Configuration
skills/ directory - Local skill installations (metadata only)
- Skill customizations
Repository Structure
Files are organized in the backup repository as:
/
├── config/ # Core configuration files
├── scripts/ # Automation scripts
├── memory/ # Daily memory logs
├── skills/ # Skill configurations
└── backup-info.md # Backup metadata
Usage
First-time setup:
scripts/setup.sh
Regular backups:
scripts/backup.sh
Options:
scripts/backup.sh --force
scripts/backup.sh --dry-run
Security Features
- Automatic token sanitization: All sensitive tokens (Discord, Telegram, API keys) are automatically redacted
- Private repository recommended: Keep your configuration private
- Structure preservation: All settings preserved, only sensitive data redacted
- Safe restore: Easy to restore and re-enter tokens
Configuration
Edit these variables in scripts/backup.sh:
REPO_URL="https://github.com/YOUR_USERNAME/YOUR_BACKUP_REPO.git"
WORKSPACE_DIR="$HOME/.openclaw/workspace"
Manual Backup
To backup specific files manually:
git clone https://github.com/YOUR_USERNAME/YOUR_BACKUP_REPO.git /tmp/backup
cd /tmp/backup
cp ~/.openclaw/workspace/AGENTS.md config/
cp ~/.openclaw/workspace/SOUL.md config/
git add .
git commit -m "Manual backup $(date)"
git push origin main
Restore Process
To restore from backup:
git clone https://github.com/YOUR_USERNAME/YOUR_BACKUP_REPO.git
cp backup/config/* ~/.openclaw/workspace/
cp -r backup/scripts/* ~/.openclaw/workspace/scripts/
nano ~/.openclaw/openclaw.json
Troubleshooting
GitHub Authentication Issues
gh auth logout
gh auth login
Permission Denied
gh repo view YOUR_USERNAME/YOUR_BACKUP_REPO
Git Configuration
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"