把 OpenClaw 部署到 WSL 里之后,我一度以为“备份恢复”这件事可以往后放。可有一次 Windows 更新后 WSL 直接起不来,看着终端里一堆报错,我才发现自己对那套 .openclaw 目录到底该怎么保护、Windows 和 WSL 之间怎么安全交换文件,其实一无所知。
后来我把备份恢复和文件交互完整走了一遍,该踩的坑基本都踩了一圈。这篇是 OpenClaw 优化系列第三篇,专门说 WSL 环境下的备份玩法,适合已经跑起来 OpenClaw、并且打算长期维护它的人。我会把“哪些数据值得备份、怎么打包才不出权限问题、恢复后第一次启动要注意什么、Windows 和 WSL 互传文件有哪些稳妥姿势”这几块一次讲透。
1. 先回答一个实际问题:OpenClaw 在 WSL 里,到底有什么好备份的
很多人会下意识觉得,OpenClaw 不过是个软件,软件坏了就重新装一遍,配置文件没了就重新配一下。这种思路放在普通 Windows 软件上勉强成立,放在 OpenClaw + WSL 的组合上就麻烦了。
WSL2 不是普通文件夹,它本质上是跑在虚拟化层里的一个 Linux 发行版,发行版的完整文件系统存在一个 ext4 格式的虚拟磁盘文件里。你在 Windows 资源管理器里看 \\wsl$\Ubuntu\root\.openclaw,会觉得它和普通网络路径差不多,其实这层路径只是 WSL 对外开放的一个翻译窗口。Windows 侧的复制操作拿不到 Linux 侧的完整权限、属主、符号链接信息,直接复制 .openclaw 目录,表面看文件都在,恢复到新环境时可能出现 OpenClaw 没权限读配置、或者某个密钥文件权限位全乱的情况。
OpenClaw 本身的数据也分三六九等,不是所有文件都值得你半夜爬起来抢救。举个例子,active-memory 里存的是它跨对话保留的长期记忆,相当于你和它配合这么多轮攒下来的上下文;exec-approvals.json 里记的是哪些命令你批准过,如果整份丢了,下次自动化任务跑起来又要重新确认一遍,这对已经在生产环境里用 OpenClaw 的人是非常难受的;workspace 里可能是 Agent 帮你处理的文档、脚本、项目素材,丢了这个等于丢劳动成果。
还有一点容易被忽略:OpenClaw 的本体可以随时重装,但记忆、配置、审批记录、工作区文件这些是“重装救不回来的部分”。所以备份恢复的核心价值,不是让你免于重装系统,而是让你在 WSL 出问题之后,依然能精准找回这些不可再生的东西。
我可以把读者分成两类。一类是个人玩家,OpenClaw 装在自己电脑的 WSL 里,主要用来写东西、整理文档、跑点自动化脚本,这类人最需要的是“快速把数据目录抢救出来”;另一类是把 OpenClaw 当个人助理或团队工具用的人,机器可能不止一台,甚至会从 WSL 迁到云服务器,这类人除了数据目录,还要考虑整个运行环境的复刻。
这篇会把两条路都讲一遍:针对前者的 tar 数据级备份,以及针对后者的 wsl --export / wsl --import 发行版级迁移。两条路不冲突,正确姿势是日常用数据级备份,整机迁移时再用发行版级导出。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 动手之前先摸清家底:/root/.openclaw 的数据结构与备份优先级
备份最忌两眼一抹黑直接 tar -czf。OpenClaw 的目录结构在不同版本里略有差异,但不影响核心文件的定位方法。你先跑一遍下面的命令,确认数据到底放在哪、体积多大。
bash复制echo $HOME
ls -la ~/.openclaw
du -sh ~/.openclaw/*
如果你是 root 用户装的环境,目录一般在 /root/.openclaw;如果你在 WSL 里建了普通用户,那就是 /home/你的用户名/.openclaw。用一键脚本部署时,脚本也可能把本体装进 /opt/openclaw,但用户数据目录基本都留在 $HOME/.openclaw,这个规律到现在仍然适用。
我以最常见的布局为例拆一下优先级:
| 路径 | 作用 | 备份优先级 |
|---|---|---|
active-memory/ |
长期记忆文件,跨会话状态 | P0,丢了很难重建 |
workspace/ |
Agent 产生或处理的文件 | P0,属于实际产出物 |
config/ 或 openclaw.json |
模型配置、Agent 参数、技能开关 | P0,重配费时间 |
exec-approvals.json |
命令审批记录 | P0,避免重复授权 |
.env 或 credentials/ |
API Key、各类工具凭据 | P1,注意备份文件本身的保密 |
skills/ |
自定义技能 | P1,如果你改过,建议单独 git 管理 |
logs/ |
运行日志 | P2,可丢 |
cache/ 或 tmp/ |
缓存临时文件 | P2,可丢 |
这个优先级排序不是我拍脑袋定的,而是从“恢复成本”角度倒推的。配置丢了,你还能打开文件重新填一遍模型参数,最多花半小时;记忆丢了,你不可能靠重新打字把过去几个月的上下文找回来;审批记录丢了,后续自动化任务会频繁停下来问你“要不要执行某条命令”。
还有一类容易被漏掉的文件是 shell 配置文件里手动写入的环境变量。很多人用 OpenClaw 时习惯把 API Key 放进 ~/.bashrc 或 ~/.profile 里,用 export OPENCLAW_API_KEY=xxx 这种方式注入。备份数据目录时,.bashrc 不在 .openclaw 下,如果漏掉,恢复后启动 OpenClaw 会出现“模型配置存在但 Key 是空的”这种诡异问题。
所以我在备份前会额外确认一件事:除了 .openclaw 目录,我的环境变量配置在哪个文件里。是 WSL 里的 ~/.bashrc,还是启动脚本本身硬编码了一套环境变量。把这两部分都要纳入备份范围。
确认完家底后,我建议你顺手清掉 logs/ 和 cache/ 再打包。日志文件通常很大,对恢复没有任何实际帮助,留着只是让备份包变大。清理不掉的也别硬删,打包时用 --exclude 参数跳过即可。
3. 全量备份怎么做才稳:数据目录打包 + Windows 侧落盘双保险
备份的完整动作分两段:先在 WSL 内部把数据目录打成 tar 包,再把 tar 包转移到 Windows 侧的持久硬盘上。这里最关键的一点是:不要直接在 /mnt/c 这类挂载盘上生成备份包。
为什么?因为 WSL2 访问 Windows 盘走的是 9P 协议翻译层,把 Linux 文件系统请求转换成 Windows 能理解的操作,大量小文件写入时性能下降非常明显,而且偶尔会出现文件被 Windows 侧进程锁住或者路径权限不一致的问题。你在 Linux 内部做一个 500MB 的打包可能只需要十几秒,同一件事跑到 /mnt/d 下做可能要好几分钟。正确的做法是先在 WSL 的本地文件系统里把包打好,再复制到 Windows 侧。
具体操作如下。先建立备份目录,并确认 OpenClaw 没有正在写入关键状态:
bash复制sudo mkdir -p /var/backups/openclaw
sudo tar -czf /var/backups/openclaw/openclaw-data-$(date +%Y%m%d-%H%M%S).tar.gz -C /root .openclaw
ls -lh /var/backups/openclaw/
这里用 -C /root 把工作目录切到 /root,然后打包 .openclaw,这样解包时直接 tar -xzf x.tar.gz -C /root 就能还原成 /root/.openclaw。如果不用 -C,而是直接写 tar -czf backup.tar.gz /root/.openclaw,包内路径会带一层 root/.openclaw,恢复时容易解错位置,尤其是换到不同用户名的环境时,路径错位会让人很困惑。
然后把备份包复制到 Windows 侧的 D 盘或移动硬盘。这一步可以从 PowerShell 里执行:
powershell复制wsl -d Ubuntu -u root cp /var/backups/openclaw/openclaw-data-20250101-120000.tar.gz /mnt/d/openclaw-backups/
或者干脆在 Windows 资源管理器里输入 \\wsl$\Ubuntu\var\backups\openclaw,把文件直接拖到 D 盘。注意把 Ubuntu 替换成你实际的发行版名称,如果你用 wsl --import 自己注册的环境,那名字可能是你当时指定的名称。
打包前后有个操作细节:最好是先把 OpenClaw 暂时停掉再备份。倒不是说 WSL 里跑着服务就不能归档文件,而是 active-memory 这种模块会在对话过程中高频写入,如果你在它写入到一半时打包,拿到的可能是半个会话的状态,恢复后印象中的记忆内容缺了一段。强烈建议退避策略,也就是所有会话先结束,或者把 OpenClaw 的服务停几分钟,打包完再启动。
如果你实在没办法停服务,只好做热备份,那最低限度是打包完检查一下包内记忆文件的最后修改时间,确保没有文件在打包中途被改了一部分。也可以多打包两次,比如间隔 30 秒各打一个包,对比两个包的大小和文件时间戳,以第二次的为准。
接下来是很多人会踩的坑:不要用 zip 格式做这个备份。zip 格式对 Linux 权限和符号链接的支持不完整,就算打包时看起来正常,恢复后 OpenClaw 也可能因为文件属主不对或 .env 软链失效而启动失败。tar.gz 是 Linux 生态下的标准归档格式,对属主、权限、硬链接处理得都很好,别图 Windows 侧双击方便就换格式。
我把自己在用的自动化备份脚本贴出来,你直接抄就行:
bash复制#!/bin/bash
# OpenClaw 全量备份脚本,适用于 WSL 内的 Ubuntu
set -e
DATA_PATH="$HOME/.openclaw"
BACKUP_INTERNAL="/var/backups/openclaw"
BACKUP_WINDOWS="/mnt/d/openclaw-backups"
STAMP=$(date +%Y%m%d-%H%M%S)
# 确保备份目录存在
mkdir -p "$BACKUP_INTERNAL"
mkdir -p "$BACKUP_WINDOWS"
# 打包数据目录,排除明显的缓存类内容
tar -czf "$BACKUP_INTERNAL/openclaw-data-$STAMP.tar.gz" \
--exclude=".openclaw/logs" \
--exclude=".openclaw/cache" \
-C "$(dirname "$DATA_PATH")" "$(basename "$DATA_PATH")"
# 复制到 Windows 侧磁盘
cp "$BACKUP_INTERNAL/openclaw-data-$STAMP.tar.gz" "$BACKUP_WINDOWS/"
# 清理 7 天前的内部备份,避免撑爆 /var/backups
find "$BACKUP_INTERNAL" -name "openclaw-data-*.tar.gz" -mtime +7 -delete
echo "backup done: $STAMP"
把这段保存为 backup-openclaw.sh,在 WSL 里 chmod +x backup-openclaw.sh,然后手动试跑一次。确认能在 /mnt/d/openclaw-backups 下看到包后,再考虑用 cron 做成定时任务。
Cron 配置也顺手写上。运行 crontab -e,加一行:
code复制0 2 * * 6 /home/yourname/bin/backup-openclaw.sh >> /var/log/openclaw-backup.log 2>&1
每周六凌晨两点跑一次,脚本输出的日志重定向到指定文件。这样至少保证每周有一份完整备份。
如果你不仅想要用户数据,还想把整个 WSL 发行版的环境也完整保留一份,那就用 WSL 自带的导出命令。在 Windows 的 PowerShell 里执行:
powershell复制wsl --export Ubuntu D:\backup\wsl-ubuntu-full.tar
这会把整个发行版文件系统导出成一个大 tar 包。好处是恢复后能得到和原来一模一样的 Linux 环境,连 WSL 里装的 Node、Python、OpenClaw 本体都不需要重新装。坏处是体积巨大,动辄几个 GB,导出过程也比较慢,不适合频繁执行。
实际操作里我的习惯是:数据目录的 tar.gz 每周一次走 cron,整个发行版的 wsl --export 只在做重大升级或准备迁移机器前跑一次。两个备份包的用途不一样,前者管数据找回,后者管环境复刻。
4. 恢复不是解压就完事:新 WSL 环境还原本体的完整过程
备份做得再好,恢复流程不练一次等于白做。我有一次就是自信满满地以为恢复就是把 tar 包解开,结果在启动 OpenClaw 时反复遇到模型读取失败,折腾半天才想起来原来环境变量是在 /root/.bashrc 里的,全量备份根本没覆盖到那一层。
现在说完整的恢复链路。分两种场景,一种是原 WSL 还没挂、只是 OpenClaw 配置坏了;一种是原机器已经没法用,需要在新的 WSL 发行版里重来。
场景一相对简单。停掉 OpenClaw,把旧数据目录改名备份一下:
bash复制mv ~/.openclaw ~/.openclaw.bak.$(date +%Y%m%d)
tar -xzf /path/to/openclaw-data-20250101-120000.tar.gz -C /root
解包完先不要急着启动,检查一下目录属主:
bash复制ls -la ~/ | grep openclaw
如果你之前是用普通用户跑的 OpenClaw,却用 root 身份解了包,那目录可能变成了 root 属主,普通用户启动时无法写入。修正方法很简单:
bash复制sudo chown -R 你的用户名:你的用户名 ~/.openclaw
场景二,也就是在全新 WSL 环境里恢复,步骤会多一些。第一步先装好 WSL2 和 Ubuntu,版本尽量和原来接近,跨版本恢复虽然通常也能用,但一些动态库路径可能对不上。第二步安装 OpenClaw 本体,用官方一键脚本或者你原来手动部署的方式都行。注意装完后不要执行初始化流程,不要把全新的 .openclaw 目录生成出来,直接进入第三步。
第三步把备份包传到 WSL 内部。如果备份包在 Windows 的 D 盘,从 WSL 里直接访问 /mnt/d/openclaw-backups 即可:
bash复制cp /mnt/d/openclaw-backups/openclaw-data-20250101-120000.tar.gz /tmp/
第四步解包到正确位置。之前备份用的是 -C /root .openclaw,现在就解到 /root 下:
bash复制sudo tar -xzf /tmp/openclaw-data-20250101-120000.tar.gz -C /root
如果你原来用的是普通用户,数据目录应该在 /home/你的用户名/.openclaw 下,那么解包位置要对应改成 /home/你的用户名,最后再执行一次 chown -R。
第五步处理环境变量。我强烈建议你做一个检查清单,把以下信息逐一确认:
- OpenClaw 核心配置是从 config 文件读的,还是从环境变量读的?
- API Key 之前存在哪个文件?
.env还是.bashrc? - 有没有自定义模型参数、代理地址、工具超时设置需要重新注入?
把这些内容确认完,再启动 OpenClaw。怎么确认恢复成功?不是看一眼首页能进就完事了,我用四个维度做验收。
第一,执行一次需要访问历史上下文的对话,问它一个只有旧环境才可能知道的问题。如果 active-memory 恢复完整,它应该能回答上来;如果答案完全对不上,说明记忆模块可能没有正确加载。
第二,查看 exec-approvals.json。这个文件在版本升级后偶尔会提示迁移。老版本里存的审批记录格式和新版本不兼容时,OpenClaw 会在启动时或执行命令时给出类似 legacy exec approvals exist at /root/.openclaw/exec-approvals.json. run ... 的提示。按提示执行对应命令完成迁移,不要直接删掉这个文件重新授权。
第三,检查 workspace 下的文件。如果恢复前 workspace 里有十几个项目文件,恢复后应该原样出现,修改时间也基本不变。
第四,看一下日志有没有反复报错。第一次启动时出现一两个 warning 不用慌,但如果有 unknown model 这类提示,多半是恢复后 config 里指定的模型在当前环境没配好,或者 Key 没生效。热搜词里常见的那条报错 agent failed before reply: unknown model: deepseek,说白了也是配置文件里模型标识符写错或缺失所致,恢复后最容易撞上这种情况。
如果你走的是整机导出恢复路线,命令也给你整理好。在 PowerShell 里:
powershell复制wsl --import OpenClawEnv D:\WSL\OpenClawEnv D:\backup\wsl-ubuntu-full.tar --version 2
导入成功后,默认用户通常是 root。如果你原来不是 root 跑的,需要手动指定默认用户。可以在 WSL 里改 /etc/wsl.conf:
ini复制[user]
default=你的用户名
改完执行 wsl --shutdown,再进发行版,用户身份就会切回去。
恢复过程中还有个容易被忽略的细节:WSL 网络模式不同,可能导致 OpenClaw 里配置的本地服务地址变了。比如有些配置里写了 http://127.0.0.1:8000 作为回调地址,如果你把 WSL 的端口转发设置改了,恢复后外部工具就调不通。处理办法是检查 OpenClaw 的日志里访问地址,确认和你预期一致。
总的来说,恢复这个动作本身不难,难的是“恢复后环境是否完整”。我建议在正式使用前专门抽半小时做一次演练,把备份包解到一个小号环境里,跑通上面四个验收项,发现问题及时补记录。
5. Windows 和 WSL 文件交互:不只是复制粘贴,路径和权限才是核心
备份恢复和文件交互这两件事,在实际使用里是绑在一起的。你可能从 Windows 侧给 OpenClaw 投喂一份 PDF,让它帮你写摘要;也可能在 OpenClaw 的 workspace 里生成了几份 Markdown,想拿到 Windows 桌面继续编辑。这一节把这些路径和方法拉一条线讲透。
我先把几种常见方法整理成一张比照表,方便你按需取用。
| 交互方式 | 适合场景 | 注意事项 |
|---|---|---|
资源管理器输入 \\wsl$\发行版名\... |
查看文件、拖拽少量文件 | 不适合对大量小文件做复制,容易丢权限 |
WSL 内部访问 /mnt/c/... |
读取 Windows 侧文件、跨系统拷贝 | IO 性能较低,不适合把 OpenClaw 工作目录放在这里 |
PowerShell 里用 wsl cp 或 wsl -d 执行命令 |
单文件快速传输 | 命令写起来比较复杂,但最靠谱 |
wslpath 做路径互转 |
脚本编写 | 避免手动拼路径出错 |
scp / sftp |
与远程服务器交换文件 | 适合云服务器场景,和本地 WSL 无关但思路一致 |
先说 \\wsl$,这是 Windows 访问 WSL 文件最直观的方式。在资源管理器地址栏输入 \\wsl$\Ubuntu\root\.openclaw\workspace,就能看到一个 Linux 目录。注意发行版名大小写。
但它有个绕不开的问题:Windows 图形界面下的复制操作并不保留 Linux 文件原有的属主和权限位。你从 \\wsl$ 里拖一个文件到 Windows 桌面,再从桌面拖回去,文件的权限极有可能变成 Windows 创建文件的默认权限。OpenClaw 对配置文件的权限很敏感,你不希望 config 文件被 Windows 记事本打开后自动保存一遍,把文件属主和换行符全改了。所以我个人的经验是:\\wsl$ 适合查看和搬运工作文件,不适合直接编辑 OpenClaw 的配置文件。要编辑配置文件,用 VSCode 的 Remote-WSL 插件,或者直接在 WSL 终端里 vim。
再讲 /mnt/c 这条路。WSL 会自动把 Windows 的 C 盘挂载到 /mnt/c,D 盘挂到 /mnt/d。所以你在 WSL 终端里可以很方便地访问 Windows 文件:
bash复制ls /mnt/c/Users/administrator/Desktop/
把 Windows 桌面的文件移动到 WSL 工作区,你可以这样:
bash复制cp /mnt/c/Users/administrator/Desktop/report.pdf ~/.openclaw/workspace/input/
反过来,把 OpenClaw 生成的文件送到 Windows D 盘:
bash复制cp ~/.openclaw/workspace/output/result.md /mnt/d/temp/
注意 /mnt/c 下的文件 IO 有性能损失。如果你把 OpenClaw 的 workspace 目录整个放到 /mnt/d 下,每天处理大量文件时能明显感觉到延迟,特别是在触发文件监听和自动保存的操作上。所以工作目录要留在 WSL 内部文件系统,不要在 /mnt/c 路径下长期运行高 IO 任务。
如果你需要在脚本里把 Windows 路径转成 WSL 路径,用 wslpath 可以省掉手工分段的麻烦:
bash复制wslpath "C:\Users\administrator\Desktop\report.pdf"
# 输出 /mnt/c/Users/administrator/Desktop/report.pdf
反向转换:
bash复制wslpath -w /root/.openclaw/workspace/output/result.md
# 输出 \\wsl$\Ubuntu\root\.openclaw\workspace\output\result.md
这种转换在交叉调用时特别好用,比如你在 Windows 侧写了个 PowerShell 脚本,想调用 WSL 里的 Python 处理某个 Windows 文件,路径转换就能派上用场。
如果你常用命令行,直接通过 wsl -d 调用 Linux 命令是更稳的方式。在 PowerShell 里执行:
powershell复制wsl -d Ubuntu -u root cp /mnt/c/Users/administrator/Desktop/report.pdf /root/.openclaw/workspace/input/
这个命令的好处是全程不走 Windows 资源管理器,不会有权限被篡改的风险。文件多了也可以直接在 PowerShell 里先 zip 再传输:
powershell复制Compress-Archive -Path C:\Users\administrator\Desktop\project -DestinationPath project.zip
wsl -d Ubuntu -u root cp /mnt/c/Users/administrator/project.zip /root/.openclaw/workspace/input/
在 WSL 侧解压:
bash复制cd ~/.openclaw/workspace/input
unzip project.zip
如果你要把文件传到云端服务器,那就要用到 scp、sftp 或者 rsync 这类网络协议。比如本地 Windows 脚本把备份包推到服务器:
powershell复制scp D:\backup\openclaw-data-20250101.tar.gz user@your-server:/home/user/backups/
从服务器拉取备份包到本地:
powershell复制scp user@your-server:/home/user/backups/openclaw-data-20250101.tar.gz D:\backup\
不只是备份,日常给 OpenClaw 投喂文件也用得上。比如服务器上的 OpenClaw 案例,需要把本地调研资料传过去并让它整理成报告,scp 一条命令就把文件送过去了。
最后提醒两个 WSL 文件交互的常见坑。
第一个是文件名编码问题。Windows 下创建的中文文件名,在 WSL 里通常可以正常显示,但从命令行传参时容易因为编码问题出现找不到文件的情况。遇到这种文件,建议先统一改名成英文,或者用带引号的方式传入路径。
第二个是换行符问题。Windows 编辑器默认会给文件加上 CRLF 换行,而 Linux 下期望的是 LF。如果你用记事本编辑过 OpenClaw 的 .env 或其他配置文件,启动时可能报奇怪的解析错误。解决办法是转换换行符:
bash复制sed -i 's/\r$//' ~/.openclaw/config/openclaw.json
或者干脆把 Windows 编辑器排除在配置文件编辑工具之外。
6. 增量备份和目录迁移:长期使用后最该养成的习惯
全量备份每周跑一次,日常新增的对话、记忆、工作文件怎么办?这些内容每天都会变,如果每次都坐等一周后的全量备份,中间出事的恢复窗口就太宽了。更合理的设计是“每周全量 + 每日增量”,把恢复窗口压缩到一天甚至几小时。
增量备份最简单粗暴的实现,是只对体积小但价值高的几个路径做每日快照。OpenClaw 的 active-memory、config、exec-approvals.json、workspace 这几个目录加起来通常不会太大,几百 MB 以内。每天结束前把这几样单独打个小包,成本很低。
我实现的每日备份脚本大概长这样:
bash复制#!/bin/bash
# OpenClaw 关键目录每日增量备份
set -e
STAMP=$(date +%Y%m%d)
SMALL_BACKUP_ROOT="/var/backups/openclaw-daily"
mkdir -p "$SMALL_BACKUP_ROOT"
tar -czf "$SMALL_BACKUP_ROOT/openclaw-daily-$STAMP.tar.gz" \
-C /root \
.openclaw/active-memory \
.openclaw/config \
.openclaw/exec-approvals.json \
.openclaw/workspace \
2>/dev/null || true
# 复制到 Windows 侧
cp "$SMALL_BACKUP_ROOT/openclaw-daily-$STAMP.tar.gz" /mnt/d/openclaw-backups/daily/
注意 tar 打包时,如果 exec-approvals.json 不在了,文件不存在会触发报错。脚本里我加了 2>/dev/null || true 做容忍,实际执行时建议你还是先确认路径名称,缺哪个补哪个。
如果基础路径或文件名有出入,你在自己机器上跑一遍 ls ~/.openclaw/ 先看一下实际结构,再改脚本。
更专业的增量做法是 tar 的 --listed-incremental 参数。初始全量时记录一个快照文件:
bash复制tar --listed-incremental=/var/backups/openclaw.snar \
-czf /var/backups/openclaw-full-$(date +%Y%m%d).tar.gz \
-C /root .openclaw
之后执行增量备份时,用同一个 .snar 文件,tar 会根据快照里记录的修改时间,只把变化过的文件打进包里:
bash复制tar --listed-incremental=/var/backups/openclaw.snar \
-czf /var/backups/openclaw-inc-$(date +%Y%m%d-%H%M%S).tar.gz \
-C /root .openclaw
恢复时则要按顺序解包。先解全量包,再按时间顺序解每一个增量包。这个方案适合对 tar 机制熟悉的人,如果你没把握,就用上面的“关键目录每日小全量”更稳妥。增量恢复本身有顺序敏感性,操作失误反而会弄巧成
