Skip to content

第29章 备份、迁移与环境可重建

第28章把风险红线立起来了——红线解决「别踩雷」,但踩雷之后能不能站起来、封号之后能不能重建、换设备之后能不能继续干活,是另一套能力。本章解决「资产到底归不归你」这件事:不能重建的系统不属于你,不能迁移的资产只是平台人质。第30章是终章,给你下一步的具体动作。

29.1 结论先行:资产所有权 = 可迁移性 × 可重建性

先把一人公司的最后一道护城河摊开:

text
资产所有权 = 可迁移性 × 可重建性

其中:

text
可迁移性 = 把资产搬到新平台/新工具所需的时间与摩擦(越短越高)
可重建性 = 从一台空机器起步,多久能恢复全部生产能力(越快越高)

为什么是乘法?呼应第01章的乘法原则——任何一项为零,资产就不属于你。你的代码全锁在某个平台私有仓库(可迁移性为零),平台封号那天,资产瞬间归零;你的 skill 模板散落在十几个对话里从没导出(可重建性为零),换台电脑就全没了。

这把第28章的「风险红线」补完了:红线是别让损失发生,本章是损失发生后还能站起来。两者合起来,才是一人公司完整的业务连续性(Business Continuity)。

来看一个对照。两个独立开发者,表面上资产规模差不多:同样的代码量、同样的文档、同样的客户。但甲把代码托管在单一私有平台、配置只在本机、对话记录从没导出;乙的代码有两个异构远端、配置入 dotfiles 仓库、对话记录每周自动导出 markdown 到自有存储。平台封号那天,甲的业务当场归零,乙在 4 小时内恢复 80% 生产力。 两人的差距不在能力,在可迁移性和可重建性。

这就是为什么本章不放在前面讲。前 28 章你积累的所有资产——第12章的知识库、第11章的工作流、第15–20章的交付物、第21–25章的案例——只有在「能重建、能迁移」的前提下,才真属于你。否则它们全是寄存在别人仓库里的货,随时可能被清零。

铁律:一份从未做过恢复演练的备份,等于没有备份。资产所有权的凭证不是「我存了」,而是「我恢复过」。

理解这一点后,本章其余都在回答一个问题:怎么把代码、文档、知识库、配置、凭据、部署、对话记录这七类资产,做到可迁移 + 可重建?

29.2 资产盘点:到底要保护什么

与「备份 = 复制文件」的差异

很多人把备份理解成「把文件夹拷一份」。这是错觉。一人公司的资产至少有七类,每类的存储介质、迁移方式、重建难度完全不同。

维度复制文件资产盘点环境可重建
对象一堆文件七类资产 + 它们的关系一套能跑的生产环境
目标不丢可迁移停机后能恢复
验证文件还在能在新平台打开从空机重建并跑通
难度

复制文件解决「不丢」,资产盘点解决「能搬」,环境可重建解决「能活」。 一人公司要的是第三个。

七类资产清单

序号资产类型典型形态丢失代价
1代码git 仓库、脚手架、组件库项目返工、复利清零
2文档CLAUDE.md、SOP、手册流程失忆、质量不稳
3知识库第12章的 KB、问答对、评测集AI 产出质量下降
4配置settings.json、.env、dotfiles工作流瘫痪
5凭据API key、token、SSH key一切停摆 + 安全风险
6部署Dockerfile、CI/CD、域名产品下线
7对话记录历史会话、子代理 transcript经验断档、无法复盘

为什么是这七类? 因为它们恰好覆盖一人公司的全部生产要素:前两类(代码、文档)是产物,第三、四类(知识库、配置)是放大器,第五类(凭据)是钥匙,第六类(部署)是对外交付的出口,第七类(对话记录)是经验沉淀。漏掉任何一类,重建时都会卡壳——你能 clone 代码、恢复配置,却发现历史会话里那个反复打磨的 prompt 模板找不回来了,等于丢了一段隐性资产。

一个常见的盲区:对话记录。很多人不把它当资产,但它承载了你的调试思路、prompt 迭代轨迹、子代理编排放法。第12章的知识库是显性沉淀,对话记录是隐性沉淀的原料。定期导出成 markdown 按会话 ID 索引,是把它从「平台缓存」变成「可检索资产」的唯一办法。

能做什么

  1. 盘点——把这七类资产逐项列出,标注当前存在哪、有几个副本。
  2. 冗余——每类资产至少两份异构副本(不同介质、不同位置)。
  3. 迁移——每类资产都有一个「搬到新平台」的明确路径。
  4. 重建——有一份从空机起步的重建文档,且演练过。

不能做什么(边界)

  • 不能替你做安全决策——凭据要不要进仓库、要不要加密,是第28章的红线,本章只给存储策略。
  • 不能保证零损失——RPO(数据丢失窗口)永远大于零,备份是缩小损失,不是消除损失。

29.3 三层备份模型:本地 / 云端 / 仓库

text
              一人公司的三层冗余

   ┌──────────────────────────────────────────────┐
   │  仓库层 (git)        代码/文档/配置/部署        │
   │  ↑ 每类资产都先入 git,分支可追溯                │
   ├──────────────────────────────────────────────┤
   │  云端层 (对象存储)    知识库/对话记录/大文件       │
   │  ↑ 异地副本,客户端加密后上传,跨区域             │
   ├──────────────────────────────────────────────┤
   │  本地层 (NAS/外置盘)  全量快照 + 凭据加密库        │
   │  ↑ 离线可用,应对云服务中断                       │
   └──────────────────────────────────────────────┘

   规则:任何资产至少出现在 2 层;凭据必须 3 层且加密。

29.3.1 仓库层(git)

git 仓库是一人公司的事实源(source of truth)。代码、文档、配置、部署脚本、CLAUDE.md 全部入 git。这一层解决「可追溯」和「可迁移」——push 到一个远端,新设备 clone 下来就是半个环境。

  • 私有远端:至少两个(异构平台,避免单平台封号同时命中)。
  • 敏感过滤.env、密钥文件进 .gitignore,绝不入库(见第28章)。
  • commit 粒度:小步提交,message 可读,便于回滚定位。
  • 验证动作:每月在一个干净目录 git clone 一次远端,确认能独立跑通——这是这一层的「恢复演练」。

29.3.2 云端层(对象存储)

知识库向量数据、对话记录 transcript、大体积数据集这些不适合入 git的资产,走云端对象存储。

  • 客户端加密:本地加密后上传,云端只见密文(零知识架构)。
  • 跨区域:选两个地理区域,防单区域故障。
  • 格式开放:存 markdown / json / sqlite,不存私有二进制格式——这是「可迁移」的前提。
  • 验证动作:每季度下载一份云端备份,本地解密打开,确认文件未损坏、密钥链可用。

29.3.3 本地层(NAS / 外置硬盘)

本地层是离线保险。云服务会宕机、会封号、会涨价,本地副本让你在云端不可用时仍能工作。

  • 定期快照:每周一次全量,每日增量。
  • 物理隔离:关键备份离线存放(拔线的硬盘不会被勒索软件加密)。
  • 凭据库:用密码管理器(如 1Password / KeePass)本地加密存储,主密码人脑记忆 + 纸质封存。
  • 验证动作:每季度模拟「断网」,只靠本地层工作一天,确认离线可用性。

三层的验证动作都不是「存完就完」,而是各自一次微型恢复演练。这呼应了 29.1 的铁律:没演练过的不算资产。

铁律:三层不是「三选一」,是「至少两层 + 凭据三层」。冗余的成本永远低于重建的成本。

29.4 七类资产的备份与迁移策略

资产主存第二副本迁移路径重建难度
代码git 私有仓库第二远端 + 本地 clonegit clone 即恢复
文档仓库内 markdown云端对象存储复制 markdown
知识库sqlite / 向量库导出 json + 云端重建索引即恢复
配置dotfiles 仓库云端 + 本地stow / 软链恢复
凭据密码管理器加密备份 + 纸质主密码主密码解锁即恢复高(主密码丢=全完)
部署IaC 仓库容器镜像仓库docker compose up
对话记录定期导出 md云端 + 本地按会话 ID 索引

关键观察:凭据是唯一「主密码丢失即全完」的资产。它的备份策略必须独立设计——主密码人脑记忆 + 纸质封存两份(异地),密码库本身三层冗余。其他六类丢了还能补救,凭据丢了是灾难。

第二观察:代码、文档、配置、部署这四类的共同点是都适合入 git——它们都是文本、可 diff、可回滚。把这四类统一收进 git 仓库(可以分仓,也可以一个 monorepo),等于一次性解决「可追溯 + 可迁移 + 可重建」三件事。这是性价比最高的一步,优先于其他所有备份动作。

第三观察:知识库和对话记录的难点在格式。很多平台用私有二进制或闭源数据库存这些数据,导出时如果只有私有格式,等于把锁和钥匙一起交给了平台。第12章强调过知识库要用开放格式存储,本章补上后半句:导出格式不开放的知识库,不算你自己的知识库

凭据的四件套

凭据是七类资产里最特殊的一类,单独拆出来讲清楚。它的备份必须满足四个条件,缺一即破:

text
凭据四件套
1. 主密码      人脑记忆(唯一允许存在于脑中的东西)
2. 密码库      三层加密冗余(本地 + 云端 + 离线外置盘)
3. 主密码副本  纸质封存两份,异地存放
4. 解密链路    每季度验证:用主密码解开密码库,取一个 key 用一次

第4点是绝大多数人漏掉的。密码库「存了」不等于「能打开」——加密软件升级、文件损坏、主密码记混,任何一个都能让密码库变成废铁。每季度解一次、用一次,是把它从「存了」变成「活着」。

29.5 迁移:把资产从「平台人质」变成「可携带资产」

迁移决策树

text
某资产当前依赖某平台,是否可迁移?

├─ 数据格式开放(md/json/sqlite)?
│  ├─ 是 → 导出脚本即可迁移,成本低
│  └─ 否 → 写一次性导出工具,或逐步改用开放格式

├─ 有定时导出机制?
│  ├─ 是 → 封号前最后一份数据可用
│  └─ 否 → 先建导出 SOP,每周自动跑一次

└─ 有替代平台/工具?
   ├─ 是 → 迁移目标明确,直接演练
   └─ 否 → 至少把数据导出存好,等替代品出现

平台人质的三个征兆

  1. 数据只进不出——平台只让你上传,没有导出按钮,或导出格式是私有二进制。
  2. 能力不可替代——你的工作流深度依赖某个独家功能,离开它就要重写。
  3. 账号可被单方面封禁——平台可以无理由停你的号,你无有效申诉渠道。

命中任何一条,就要立即启动「数据导出 + 替代方案调研」。这是第28章风险红线在运营层的延续——红线是「不踩」,迁移能力是「踩了也能跑」。

迁移走查(脱敏范式)

讲一个可迁移的工程范式,不涉及具体平台。假设你的某个工作流深度依赖某 SaaS 平台 A,命中了「数据只进不出」和「账号可被单方面封禁」两条。迁移走查分四步:

text
1. 导出盘点:列出 A 上所有你的数据类型(配置 / 历史 / 资产 / 关系)
            对每类判断:能导出吗?格式开放吗?多久导出一次?
2. 格式归一:把私有格式批量转成 md / json / csv / sqlite
            这一步往往是最大工作量,写一次性脚本即可
3. 替代选型:找 1-2 个能消费同样开放格式的替代品 B / C
            不要求功能对等,要求「核心工作流能跑通」
4. 双轨切换:A 和 B 同时跑一个月,A 主 B 副
            一个月后反转,B 主 A 副,再一个月停 A

关键:第2步的「格式归一」是整个迁移的灵魂。一旦你的资产以开放格式存在于自己的存储里,平台 A 就从「人质看守所」变回了「可选工具」——你随时能走,它就锁不住你。这也是为什么 29.3.2 强调云端层必须存开放格式。

反例:很多人迁移失败,是因为跳过第2步,直接找「功能一样的替代品」。但功能完全一样的替代品几乎不存在,于是迁移永远拖延,直到某天平台封号,资产瞬间归零。先把数据以开放格式导出来,再慢慢找替代品——这个顺序不能反。

29.6 实战:业务连续性清单(端到端)

业务连续性有两个硬指标,先把基线立起来:

text
RTO (Recovery Time Objective)  恢复时间目标
  从灾难发生到恢复生产力的最长允许耗时
  一人公司建议基线:核心工作流 RTO ≤ 4 小时

RPO (Recovery Point Objective)  恢复点目标
  灾难发生时最多允许多少数据丢失(按时间计)
  一人公司建议基线:核心资产 RPO ≤ 24 小时

这两个数字不是拍脑袋,是从你的「停机一天损失多少」反推的。独立开发者通常没有 SLA 压力,但 RTO 超过一周、RPO 超过一周,意味着一次设备故障就能让业务停摆半个月——这是不可接受的。下面的四步,本质都是在压低 RTO 和 RPO。

步骤一:资产盘点(半天)

text
资产盘点表(填出来)
┌────┬────────┬──────────┬──────────┬──────────┐
│ 类别 │ 当前位置 │ 副本数量 │ 最后备份日 │ 可迁移?  │
├────┼────────┼──────────┼──────────┼──────────┤
│ 代码 │        │          │          │          │
│ 文档 │        │          │          │          │
│ 知识库│        │          │          │          │
│ 配置 │        │          │          │          │
│ 凭据 │        │          │          │          │
│ 部署 │        │          │          │          │
│ 对话 │        │          │          │          │
└────┴────────┴──────────┴──────────┴──────────┘

验收:每一行都填了,没有空白格;副本数量 ≥2。

步骤二:三层冗余(一天)

为每类资产补齐缺失的副本层。优先级:凭据 > 代码 > 知识库 > 其他

bash
# 典型动作(示例,按你的实际栈调整)
git remote add backup <第二远>              # 代码加第二远端
rclone sync ./kb/ remote:kb-encrypted/        # 知识库加密上云
tar -czf - ~/.config | gpg -e > backup.tar.gpg # 配置加密打包

验收:每类资产在三层中至少出现两层;凭据三层齐全且加密。

步骤三:恢复演练(关键,每季度一次)

这一步是整章的重点。没做过恢复演练的备份,等于没有备份。

text
恢复演练 SOP(每季度跑一次)
1. 找一台干净设备(或新建一个用户账号)
2. 只凭备份和重建文档,从零搭起工作环境
3. 记录每个卡点:少什么、忘什么、什么文档写错了
4. 修复文档,补齐缺失资产
5. 记录 RTO(从开始到恢复生产力的耗时)

验收:能在 4 小时内恢复 80% 的生产力;RTO 每季度缩短或至少持平。

步骤四:迁移演练(每半年一次)

挑一个你最依赖的平台,演练「假设明天被封号,我多久能切到替代方案」。只导出数据不算演练,要真能在替代方案上跑起来

验收:能在一周内完成核心资产的迁移切换,且关键工作流不中断。

失败边界(演练排查):

症状根因处理
演练时备份打不开格式过时 / 加密密钥丢失立即修格式 + 验证解密链路
恢复后少了一堆东西盘点漏项回到步骤一重新盘点
RTO 越练越长环境变复杂没更新文档重建文档与代码同步更新

29.7 失败边界:五种最常见的死法

死法一:只存在脑子里

症状:关键流程、密码、配置全靠记忆,没有文档。换个人、换台机器、生一场病,业务就停。

根因:把「我记得」当成了资产。但记忆不可迁移、不可重建、还会衰减。

对抗:强制规则——任何操作做过两次,必须写成 SOP 入库(呼应第12章知识沉淀系统)。脑子里只允许存在一件事:密码管理器的主密码

死法二:凭据无备份

症状:API key 只在某个 .env 里,SSH key 只在本机,密码只靠浏览器记住。机器一丢,全部停摆,还要紧急吊销重置一堆服务。

根因:凭据是最重要却最容易被忽略的资产。它体积小、日常不碰、出事才想起来。

对抗:所有凭据进密码管理器;密码库三层加密冗余;主密码纸质封存两份异地。这是不可让渡的红线。

死法三:平台封号

症状:某天醒来发现某个 SaaS 账号被封,存在里面的数据、配置、工作流瞬间不可用。

根因:单平台依赖 + 没有异地副本。平台对你的资产有生杀大权。

对抗:任何平台上的资产,每周自动导出一次到本地/自有存储;关键平台预先找好替代品并演练过。平台是工具,不是仓库。

死法四:设备损坏 / 丢失

症状:电脑进水、被盗、硬盘坏道。本地唯一副本没了。

根因:本地层是唯一副本,或云端副本早已过期。

对抗:本地层永远不是唯一副本。每日增量备份到云端 + 每周全量到本地外置盘。重要设备开启全盘加密,丢失后可远程擦除。

死法五:备份从未恢复演练

症状:备份一直有,但出事时才发现:备份是坏的、格式过时了、解密链断了、少关键文件。看着一堆备份,一个都用不上。

根因:把「备份」当成了终点,忘了备份只是手段,恢复才是目的

对抗:每季度做一次 29.6 步骤三的恢复演练。没演练过的备份不算资产,因为它的可重建性是未知的。

红线边界:不可让渡的决策

  • 主密码:必须人脑记忆 + 物理封存,不能交给任何线上服务托管。
  • 凭据是否入仓库:即便自动化程度再高,密钥永远不入 git(呼应第28章红线)。
  • 恢复演练的验收:RTO 是否达标必须人审,不能靠脚本自报通过。

29.8 小结 / 核心心法

不能重建的系统不属于你,不能迁移的资产只是平台人质。资产所有权的凭证是「恢复过」,不是「存了」。

  1. 资产所有权 = 可迁移性 × 可重建性,乘法关系,任何一项为零资产就不属于你。
  2. 七类资产(代码/文档/知识库/配置/凭据/部署/对话记录)各有备份策略,凭据是唯一的高危类。
  3. 三层冗余(仓库/云端/本地)是底线,凭据必须三层且加密。
  4. 迁移把平台人质变成可携带资产:开放格式 + 定时导出 + 替代方案。
  5. 恢复演练每季度一次,没演练过的备份等于没有备份。

这呼应第01章的公式三·复利资产——资产只有能被复用、能被迁移、能被重建,复利才成立;一份被平台锁死、换机即丢的资产,复利直接归零。也呼应第12章的知识沉淀系统——沉淀下来的东西如果丢了,沉淀就白做了。备份与迁移,是把前 28 章积累的所有资产「钉死归你」的最后一颗钉子。

执行清单(每季度演练 + 每周自检):

  • [ ] 七类资产盘点表填完,无空白格
  • [ ] 每类资产至少两层冗余,凭据三层且加密
  • [ ] 本季度做过一次恢复演练,RTO 有记录
  • [ ] 本半年做过一次迁移演练,至少一个核心平台有替代方案
  • [ ] 所有平台数据每周自动导出到自有存储
  • [ ] 主密码人脑记忆 + 两份异地纸质封存
  • [ ] 重建文档与代码同步更新,没有过时段落

上一章:第28章 风险红线 下一章:第30章 终章:你的下一步