Openclaw-skills gitclaw-backup

GitHub backup for OpenClaw workspace. Use when user says "同步", "备份", "backup", "sync", "push to github", or asks about backup status/history/failures. Manages git-based full backup of ~/.openclaw to GitHub.

install
source · Clone the upstream repo
git clone https://github.com/blessonism/openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/blessonism/openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gitclaw-backup" ~/.claude/skills/blessonism-openclaw-skills-gitclaw-backup && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/blessonism/openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/gitclaw-backup" ~/.openclaw/skills/blessonism-openclaw-skills-gitclaw-backup && rm -rf "$T"
manifest: gitclaw-backup/SKILL.md
source content

GitClaw Backup

Full backup of

/home/node/.openclaw/
to GitHub via git.

Quick Reference

  • Repo:
    https://github.com/blessonism/openclaw-backup.git
  • Branch:
    main
  • Script:
    /home/node/.openclaw/gitclaw/auto_backup.sh
  • Cron:
    daily-workspace-backup
    — 每天 UTC 16:00 (北京时间 0:00)
  • Exclude rules:
    /home/node/.openclaw/.gitignore

Manual Sync

Run the backup script directly:

bash /home/node/.openclaw/gitclaw/auto_backup.sh

Script behavior:

  • Lock-based (prevents concurrent runs)
  • Stages all changes (
    git add -A
    ), respects
    .gitignore
  • Skips commit if no changes
  • Pushes to
    origin main
  • Logs to
    /home/node/.openclaw/gitclaw/backup.log

Post-Sync Response

After a successful sync, always include a clickable link to the latest commit in your reply:

# Get the latest commit short hash
cd /home/node/.openclaw && git log --oneline -1

Then format the response like:

✅ 同步完成 — 查看 commit

  • If no changes were detected, report "无变更,跳过" (no link needed).
  • If the push failed, report the error and suggest troubleshooting steps.

Check Status

# Last backup log
tail -5 /home/node/.openclaw/gitclaw/backup.log

# Git status (uncommitted changes)
cd /home/node/.openclaw && git status --short

# Recent commits
cd /home/node/.openclaw && git log --oneline -5

Exclude Files from Backup

Edit

/home/node/.openclaw/.gitignore
— standard gitignore syntax.

Current notable exclusions:

workspace/images/
,
workspace/node_modules/
,
workspace/.micromamba/
,
workspace/bin/
, large binary files.

Troubleshooting

  • "already running" in log → stale lock at
    /home/node/.openclaw/gitclaw/lock/
    , remove it:
    rmdir /home/node/.openclaw/gitclaw/lock
  • Push rejected → likely force-push or diverged history on remote; check with
    git log --oneline -5 origin/main
  • Auth failure → credentials in
    ~/.git-credentials
    ; verify with
    git credential fill <<< "host=github.com"