openclaw

关注公众号 jb51net

关闭
AI > openclaw >

openclaw的git备份策略全解析-skill已上线

BeyondTimeSpace

没有一个备份手段,openclaw都不敢用,生怕下一秒就死翘翘了,所以今天我们搞定备份:

openclaw自带备份命令(没有restore指令,不完善X)

# 自动备份
openclaw backup create
# 指定输出目录
openclaw backup create --output <path>
# 排除工作空间
openclaw backup create --no-include-workspace
# 只备份配置文件
openclaw backup create --only-config
# 预览备份计划
openclaw backup create --dry-run
# 验证备份
openclaw backup create --verify

git备份的优势是压缩文件备份没法比拟的:

git备份思路:配置和workspace分开备份,具体:

npm install -g clawhub
clawhub install "openclaw-gitbak"

配置自己的workspace和git仓库:

告诉openclaw:这是我的workspace及对应的git仓库列表,请配置/openclaw-gitbak技能,然后粘贴信息
或者手工修改更快捷:~/.openclaw/skills/openclaw-gitbak/scrips/config.sh 改成你自己的就好了

执行备份:

首次备份输入:/openclaw-gitbak备份所有(openclaw会记住你的备份手段)
以后备份输入:备份所有/备份workspace/备份配置
首次拉取输入:/openclaw-gitbak恢复所有(openclaw会记住你的恢复手段)
以后恢复输入:恢复所有/恢复workspace/恢复配置

这样也方便在本地修改,我这边win11,大概是这个样子:

再用2个脚本执行本地批量提交和拉取:
pull_all.ps1(注意将丢失所有修改)

$count = 0
Get-ChildItem -Directory | ForEach-Object {
    $dir = $_
    if (Test-Path "$($dir.FullName)\.git") {
        $count++
        $repoName = $dir.Name
        Write-Host "==> $count Pulling $repoName"
        Push-Location $dir.FullName
        git reset --hard
        git pull
        Pop-Location
        Write-Host ""
    }
}
Write-Host "Done!"

push_all.ps1

$count = 0
$msg = Read-Host "Enter commit message"
Get-ChildItem -Directory | ForEach-Object {
    $dir = $_
    if (Test-Path "$($dir.FullName)\.git") {
        $count++
        $repoName = $dir.Name
        Write-Host "==> $count Pushing $repoName"
        Push-Location $dir.FullName
        git add .        
        git commit -m "$msg"
        git push
        Pop-Location
        Write-Host ""
    }
}
Write-Host "Done!"

到此这篇关于openclaw的git备份策略全解析-skill已上线的文章就介绍到这了,更多相关openclaw git备份策略内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!