GitHub Backup
name: workspace-git-backup
by cooperun · published 2026-03-22
$ claw add gh:cooperun/cooperun-workspace-git-backup---
name: workspace-git-backup
description: Set up automatic scheduled backups to GitHub or GitLab. Use when users want to backup their OpenClaw workspace or other directories. Supports GitHub CLI for easy repo creation. Works on macOS (launchd) and Linux (cron).
---
# GitHub Backup
Automatic scheduled backup of any directory to a remote Git repository.
Setup Flow
When user asks for backup setup, follow these steps:
1. Ask for backup directory
Default: `~/.openclaw/workspace`
2. Configure remote repository
**If GitHub CLI (`gh`) is available and authenticated:**
Ask user:
**New repo:**
gh repo create <name> --private --source=<backup-path> --remote=origin**Existing repo:**
# List repos
gh repo list --limit 50
# Add remote (user provides repo name or URL)
git -C <backup-path> remote add origin <url>**If no GitHub CLI:**
3. Create config file
cat > ~/.openclaw/workspace/.backup-config.json << 'EOF'
{
"backupPath": "<backup-path>",
"gitRemote": "<repo-url>",
"schedule": "0 12,0 * * *",
"updateTimestamp": true
}
EOF4. Install backup script
mkdir -p ~/.openclaw/scripts
cp <skill-path>/scripts/backup.sh ~/.openclaw/scripts/github-backup.sh
chmod +x ~/.openclaw/scripts/github-backup.sh5. Install scheduled task
**macOS (launchd):**
bash <skill-path>/scripts/install-launchd.sh**Linux (cron):**
bash <skill-path>/scripts/install-cron.sh6. Optional: First backup
bash ~/.openclaw/scripts/github-backup.shCommands
After setup, user can:
| Command | Action |
|---------|--------|
| `bash ~/.openclaw/scripts/github-backup.sh` | Manual backup |
| `bash <skill-path>/scripts/manage.sh status` | Check status |
| `bash <skill-path>/scripts/manage.sh logs` | View logs |
| `bash <skill-path>/scripts/manage.sh uninstall` | Remove scheduled task |
Configuration
Config: `~/.openclaw/workspace/.backup-config.json`
| Field | Default | Description |
|-------|---------|-------------|
| `backupPath` | `~/.openclaw/workspace` | Directory to backup |
| `gitRemote` | required | Repository URL |
| `schedule` | `0 12,0 * * *` | Cron: 12:00 & 00:00 daily |
| `updateTimestamp` | true | Update README timestamp |
Backup Script Logic
Check for git changes
└── No changes → exit
└── Has changes → continue
↓
Update README timestamp (optional)
↓
git add . && git commit -m "chore: 自动备份"
↓
git pushFiles Created
| File | Location |
|------|----------|
| Backup script | `~/.openclaw/scripts/github-backup.sh` |
| Config | `~/.openclaw/workspace/.backup-config.json` |
| Log | `~/.openclaw/logs/github-backup.log` |
| launchd plist | `~/Library/LaunchAgents/com.openclaw.github-backup.plist` |
| cron entry | Via crontab |
Example Dialog
User: 帮我配置 workspace 自动备份
Agent:
1. 检测 gh CLI → 已登录
2. "新建仓库还是用已有的?" → "新建"
3. "仓库名称?" → "openclaw-backup"
4. "公开还是私有?" → "私有"
5. 执行: gh repo create openclaw-backup --private --source=~/.openclaw/workspace --remote=origin
6. 创建配置文件
7. 安装定时任务
8. "安装完成,每天 12:00 和 00:00 自动备份"More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...