BorgBackup 初始化仓库时必须指定 --encryption 且不可后期更改,因加密密钥参与 chunk ID 计算和签名,改动将破坏去重与完整性校验;推荐使用 repokey 或 repokey-blake2(Borg ≥ 1.2.0),禁用 none。

BorgBackup 初始化仓库时为什么必须指定 --encryption 且不能后期更改
BorgBackup 的加密是仓库级强绑定的,一旦初始化完成,borg init 时未设 --encryption,后续无法开启;反之,若设为 repokey 或 keyfile,也不能降级为无加密。这是因为加密密钥直接参与 chunk ID 计算和数据块签名,改动会彻底破坏去重逻辑和完整性校验。
- 必须在首次
borg init就决定加密模式:borg init --encryption=repokey /path/to/repo(推荐,密钥存于仓库内、用密码保护) -
repokey-blake2比默认repokey更安全(使用 BLAKE2b 替代 SHA256),但要求 Borg ≥ 1.2.0 - 不要用
none,哪怕本地备份——密钥泄露风险远低于误删或误覆盖整个仓库
备份命令中 --exclude 和 --patterns-from 的实际行为差异
--exclude 是简单前缀/通配匹配,不支持正则;真正灵活过滤得靠 --patterns-from 配合 pattern 文件,否则容易漏掉临时文件或缓存目录。
-
--exclude '*.tmp'只匹配文件名结尾为 .tmp 的文件,不匹配目录,也不递归进子目录检查 -
--patterns-from支持P(prefix)、R(regex)、-(exclude)等指令,例如:</li><li>/tmp/</li><li>/var/cache/ R ^.*.log.[0-9]+$
- 模式文件路径必须是绝对路径或相对于当前工作目录,且
borg create执行时需确保该路径可读 - 排除
/proc、/sys、/dev等虚拟文件系统必须显式写入 pattern 文件,--exclude单条写不全
borg prune 保留策略里 --keep-within 和 --keep-daily 的时间计算逻辑
Borg 的保留策略不是按“最近 N 个”快照算,而是按时间窗口内符合规则的快照数量裁剪,且各策略独立触发、叠加生效——容易误以为留了 7 天就一定有 7 个归档,其实可能只剩 2 个。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
-
--keep-within 7d:保留过去 7×24 小时内创建的所有归档(哪怕 100 个) -
--keep-daily 7:从今天起往前找,每天最多留 1 个(按归档时间戳的日期截断比较),但只对「当天有归档」的日子计数 - 若某天没运行备份,那天就不占名额;连续两天都失败,
--keep-daily 7实际可能只保留 5 个 - 建议组合使用:
borg prune --keep-hourly 24 --keep-daily 7 --keep-weekly 4 --keep-monthly 12,并配合--stats确认实际删除数
恢复单个文件时为什么 borg extract 比挂载更快,但路径必须精确
borg mount 启动 FUSE 文件系统开销大(尤其大仓库),而 borg extract 直接解密+解压目标路径,I/O 更局部。但它的路径匹配是严格层级的——写错一级目录名就会报 Path not found in archive,而不是模糊匹配。
- 正确写法:
borg extract ::archivename home/user/docs/report.pdf(注意home/user/docs/...是归档内绝对路径,不含开头/) - 错误写法:
borg extract ::archivename /home/user/docs/report.pdf(多加了/,Borg 认为这是根路径,找不到) - 如果不确定路径,先用
borg list ::archivename | grep report查准全路径 - 恢复整个目录时,末尾不加
/(borg extract ::archivename home/user/docs),加了会被当作空目录处理
Borg 的去重粒度在 chunk 级(默认 2–8MB 动态分块),但加密和压缩发生在 chunk 内部,所以「加密」和「去重」并不冲突——反而是先去重再加密,密钥只保护已去重后的唯一数据块。这点常被误解,导致有人错误地认为加密必然破坏去重效果。

















