备份策略

状态: 探索层 — 调研完成,待决策是否进入设计层 优先级: P1 创建日期: 2026-05-30

问题定义

针对多类数据资产(代码、研究课题、密钥、多媒体、配置),建立两地三副本的备份体系,覆盖本地外置盘、云盘、私有 NAS、GitHub 四个位置。恢复主要由本人操作,他人需授权。

数据资产分类

类别示例体积不可再生性推荐方案
代码项目active/, labs/ 中 git 项目不等有 git remote 则安全git push
研究课题docs/research/ 18 个课题~2MB高 — 不在 git 中纳入 git 管理
密钥mykey.py, .env, API tokens~50KB高 — gitignoredSOPS + age 加密后进 git
多媒体照片、视频、素材~100GB+restic → 外置盘 + NAS
Claude 记忆~/.claude/projects/~50KB高 — 跨会话积累软链到 git 或 restic
Hermes 数据~/.hermes/ (含 kanban)~100MB高—配置+任务状态restic
MySQL/Redis~/Data/mysql/, ~/Data/redis/~500MB+中—可重建但费时定期 dump + restic

调研结论

主力备份工具

工具优势劣势适合
resticS3/B2/NAS/本地全支持,自我修复,27K⭐无 GUI,需 cron/launchd推荐 — 生态最大最稳
kopiaKopiaUI 桌面 App,自带调度,并发好blob 损坏不自愈,较新GUI 优先可选
borg压缩率最高,最成熟只支持 SSH/NAS,单线程NAS 优先可选

关键发现: kopia 有已知的 blob 损坏后无法自愈的问题,restic/borg 更可靠。

加密密钥管理

  • SOPS + age:加密后进 git,跟代码一起备份
  • age 私钥存密码管理器(1Password/Bitwarden),不回 git
  • Git diff 可配置为自动解密显示(本地,需私钥)

云端存储成本

服务商价格最低消费适合
Backblaze B2$0.006/GB<1TB 首选
Wasabi$0.0068/GB$6.99/月>1TB 且频繁恢复时

macOS 定时调度

  • resticprofile:YAML 配置 + 自动生成 launchd,推荐
  • 手动 launchd plist:可控性更高但配置繁琐

恢复测试

  • 每次备份后:restic check --read-data
  • 每周:随机文件恢复验证
  • 每季度:完整恢复演练
  • 关键原则:未经验证的备份不是备份

待定决策(需你拍板进设计层)

  1. 主力备份工具倾向(restic / kopia / borg)
  2. NAS 支持什么协议(SMB/SFTP?)
  3. 云盘角色(备份目标还是纯同步)
  4. SOPS + age 密钥加密是否接受
  5. 本课题优先级(继续推进还是先放着)

观察点(待复盘)

参见 observations.md