mcpField
G
gitclaw-backup

gitclaw-backup

github.com/blessonism云与 DevOps5555 次安装32 周前更新
代码仓库

关于 gitclaw-backup

用于将 `/home/node/.openclaw/` 备份到 GitHub 仓库的技能,供维护该工作区备份的用户使用。它通过 Git 同步变更,支持定时运行、排除规则和状态检查。

主要功能

  1. 01将工作区变更提交并推送至 GitHub
  2. 02每日 UTC 16:00 定时备份
  3. 03使用锁避免并发运行
  4. 04按 `.gitignore` 排除文件
  5. 05记录日志并检查 Git 状态

适用场景

  1. 01每日备份 OpenClaw 工作区
  2. 02手动运行脚本同步变更
  3. 03查看最近备份记录和未提交变更
  4. 04排除不应纳入备份的文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blessonism/openclaw-skills --skill gitclaw-backup

安装后在 Claude Code 中输入/gitclaw-backup确认已加载。

详细介绍

GitClaw 备份

通过 git 将 /home/node/.openclaw/ 完整备份到 GitHub。

快速参考

  • 仓库:https://github.com/blessonism/openclaw-backup.git
  • 分支:main
  • 脚本:/home/node/.openclaw/gitclaw/auto_backup.sh
  • Cron:daily-workspace-backup — 每天 UTC 16:00(北京时间 0:00)
  • 排除规则:/home/node/.openclaw/.gitignore

手动同步

直接运行备份脚本:

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

脚本行为:

  • 基于锁运行(防止并发运行)
  • 暂存所有更改(git add -A),遵循 .gitignore
  • 没有更改时跳过提交
  • 推送到 origin main
  • 将日志写入 /home/node/.openclaw/gitclaw/backup.log

同步后响应

成功同步后,回复中始终包含指向最新 commit 的可点击链接:

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

然后按如下格式回复:

✅ 同步完成 — 查看 commit

  • 如果没有检测到更改,请报告“无变更,跳过”(无需链接)。
  • 如果推送失败,请报告错误并提供故障排除建议。

检查状态

# 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

从备份中排除文件

编辑 /home/node/.openclaw/.gitignore — 使用标准的 gitignore 语法。

当前值得注意的排除项:workspace/images/、workspace/node_modules/、workspace/.micromamba/、workspace/bin/、大型二进制文件。

故障排除

  • 日志中出现 "already running" → /home/node/.openclaw/gitclaw/lock/ 中存在过期锁,请将其删除:rmdir /home/node/.openclaw/gitclaw/lock
  • 推送被拒绝 → 远程可能执行了强制推送,或历史记录已分叉;使用 git log --oneline -5 origin/main 检查
  • 身份验证失败 → 凭据位于 ~/.git-credentials;使用 git credential fill <<< "host=github.com" 验证

评论

支持 Markdown