设置自动定时备份到GitHub或GitLab。适用于用户想要备份OpenClaw工作区或其他目录。支持GitHub CLI...
GitHub 备份是一项面向实际任务的技能,主要用于自动将任何目录备份到远程 Git 仓库;当用户请求备份设置时, 请遵循这些步骤 :. 请求备份目录;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
将任意目录自动定时备份至远程 Git 仓库。
当用户请求配置备份时,请按以下步骤执行:
默认值:~/.openclaw/workspace
若已安装并认证 GitHub CLI(gh):
向用户提问:
新建仓库:
gh repo create--private --source= --remote=origin
使用已有仓库:
# 列出仓库 gh repo list --limit 50 # 添加远程仓库(用户提供仓库名称或 URL) git -Cremote add origin
若未安装 GitHub CLI:
cat > ~/.openclaw/workspace/.backup-config.json << 'EOF'
{
"backupPath": "",
"gitRemote": "",
"schedule": "0 12,0 * * *",
"updateTimestamp": true
}
EOF
mkdir -p ~/.openclaw/scripts cp/scripts/backup.sh ~/.openclaw/scripts/github-backup.sh chmod +x ~/.openclaw/scripts/github-backup.sh
macOS(launchd):
bash/scripts/install-launchd.sh
Linux(cron):
bash/scripts/install-cron.sh
bash ~/.openclaw/scripts/github-backup.sh
完成配置后,用户可执行以下操作:
| 命令 | 作用 |
|---|---|
bash ~/.openclaw/scripts/github-backup.sh |
手动触发备份 |
bash |
检查备份服务状态 |
bash |
查看日志 |
bash |
卸载定时任务 |
配置文件路径:~/.openclaw/workspace/.backup-config.json
| 字段 | 默认值 | 说明 |
|---|---|---|
backupPath |
~/.openclaw/workspace |
待备份的目录路径 |
gitRemote |
必填 | 远程仓库 URL |
schedule |
0 12,0 * * * |
Cron 表达式:每日 12:00 和 00:00 执行 |
updateTimestamp |
true | 是否更新 README 中的时间戳 |
检测 Git 是否存在变更
└── 无变更 → 退出
└── 存在变更 → 继续
↓
更新 README 时间戳(可选)
↓
git add . && git commit -m "chore: 自动备份"
↓
git push
| 文件 | 位置 |
|---|---|
| 备份脚本 | ~/.openclaw/scripts/github-backup.sh |
| 配置文件 | ~/.openclaw/workspace/.backup-config.json |
| 日志文件 | ~/.openclaw/logs/github-backup.log |
| launchd plist 文件 | ~/Library/LaunchAgents/com.openclaw.github-backup.plist |
| cron 条目 | 通过 crontab 管理 |
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 自动备份”