BorgBackup 1.4 介绍与选型指南

基于官方资料溯源的 BorgBackup 1.4 去重加密备份工具介绍与选型指南,覆盖信息基准、核心架构、功能特性、快速上手、适用限制及与 restic、rsync、Time Machine 的对比。

BorgBackupBorgBackup备份恢复2026/10/18

BorgBackup 1.4 介绍与选型指南

一、信息基准

本文为 BorgBackup(简称 Borg)认知篇,全部信息基于官方资料溯源编写,不涉及任何本地实测数据。查询日期为 2026-10-18。

项目内容
软件名称BorgBackup(Borg)
本文信息基准版本1.4.5(稳定线 1.4,2026-07-19 发布,官方变更日志记载)
开发中版本线2.0.0b25(beta,2026-09-28,官方明示"beta quality, for testing only",仅供测试)
开源许可BSD 3-Clause(官方仓库 LICENSE 文件实查)
实现语言Python 与 C
官网https://www.borgbackup.org/
官方文档https://borgbackup.readthedocs.io/
源码仓库https://github.com/borgbackup/borg
版本依据GitHub Releases Feed(releases.atom)、官方变更日志(readthedocs 1.4-maint changes 页)
GitHub stars官方未公布(本次溯源未获取到可验证的 star 统计)

二、软件概述

本文介绍的版本为 BorgBackup 1.4,其最新修订版为 1.4.5(2026-07-19 发布)。BorgBackup 是一款以去重为核心能力的备份程序,官方定位为"deduplicating backup program",支持压缩与认证加密,面向 Linux、macOS、BSD 等 Unix-like 系统。

Borg 的设计目标可以概括为三点:一是高效去重,相同数据块在存储库中只保存一份,即使重复数据分散在不同快照、不同时间点之间;二是全链路加密,数据在写入存储库前即可完成客户端侧加密,服务端无法读取明文;三是节省空间与带宽,去重加上可选压缩使长期多版本备份的成本大幅下降。

版本线方面,官方同时维护 1.4 稳定线与 2.0 beta 线。2.0 系列自 2.0.0b20 起在发布说明中持续标注"beta quality, for testing only",即面向测试用途,截至查询日(2026-10-18)不建议将其视为生产可用版本;生产环境应采用 1.4 线。

三、核心架构与核心概念

3.1 存储库(Repository)

存储库是 Borg 的顶层存储单元,对应一个文件目录(本地路径)或一个通过 SSH 暴露的远端路径。存储库负责管理块存储、段文件(segment file)组织与事务日志,同一存储库可容纳多个归档。创建存储库时需一次性指定加密模式(如 --encryption=repokey),该模式此后不可更改。

3.2 归档(Archive)

归档即一次备份产生的快照,命名格式为 存储库::归档名,例如 /path/to/repo::2026-10-18-daily。归档记录某个时间点被备份文件集合的元数据与数据块索引。Borg 鼓励建立大量细粒度快照,因为去重机制使相邻快照的增量存储成本极低。

3.3 去重机制

Borg 采用内容定义分块(content-defined chunking)技术,官方内部实现文档说明其使用滚动哈希(buzhash)按内容边界切分数据,默认平均块大小约 2 MiB。数据块以其摘要(针对加密模式为密文摘要)为标识存入存储库。这意味着:文件改名、移动、跨机器重复、跨快照重复都不会产生额外存储;对大文件的部分修改也只需保存变化的数据块。

3.4 压缩与加密

压缩支持 lz4(默认,偏速度)、zstd、zlib、lzma 四种算法,可在 borg create 时通过 --compress 指定。加密采用认证加密组合:AES-CTR-256 加密数据与 HMAC-SHA256 认证(repokey/Keyfile 模式密钥由用户持有),另有仅认证不加密(authenticated)与不加密(none)模式。加密在客户端完成,配合远端存储库可实现零信任的服务端。

3.5 远端访问(borg serve)

Borg 原生支持基于 SSH 的远程存储:客户端通过 ssh://user@host/path/to/repo 直接操作远端,远端侧由 borg serve 提供受限的存储库访问,无需额外的服务进程。这是 Borg 与多数备份软件差异最大的架构选择之一:传输层完全复用 SSH,部署面仅要求远端装有 borg 可执行文件。

四、功能特性

  • 内容级去重:按数据块(而非文件)去重,重复块只存一份,显著降低长期多版本备份空间占用。
  • 速度导向:官方说明其专注于去重性能,配合变量分块在速度与去重粒度间取得平衡。
  • 数据加密与认证:客户端侧 AES-CTR-256 + HMAC-SHA256 认证加密,密钥可用仓库内嵌入(repokey)或独立 Keyfile 保存。
  • 压缩:lz4/zstd/zlib/lzma 可选,逐块压缩并与去重协同。
  • 离线与异地备份:SSH 远端、外接磁盘、挂载目录均可作为存储库目标。
  • 快照管理:borg list 列出归档、borg diff 比较归档差异、borg mount(FUSE)将归档挂载为只读文件系统直接浏览。
  • 保留策略:borg prune 按小时/天/周/月/年维度配置保留规则,自动清理过期快照。
  • 导出能力:borg export-tar 将归档导出为 tar 流,便于与其他工具衔接。
  • 校验与修复:borg check 校验存储库一致性,borg compact(1.2+ 引入)回收已删除数据块占用的空间。

五、快速上手

以下命令序列引自官方文档 Quick Start(borgbackup.readthedocs.io,1.4-maint 分支),仅作语法演示,本文不做本地实测。

5.1 初始化存储库

# 创建加密存储库(repokey 模式,密钥存于存储库内,口令由用户掌握)
borg init --encryption=repokey /path/to/repo

5.2 创建归档

# 备份 home 目录,生成名为 Monday 的归档
borg create --progress /path/to/repo::Monday ~/home

# 列出归档与内容
borg list /path/to/repo

5.3 恢复与清理

# 解包归档到当前目录
cd /tmp && borg extract /path/to/repo::Monday

# 按保留策略清理:保留最近 7 个天级、5 个周级快照
borg prune --list --keep-daily=7 --keep-weekly=5 /path/to/repo

官方 Quick Start 另给出定时任务示例:将 borg create、borg prune 组合写入脚本并由 cron 调度,即构成最小可用的自动化备份方案。

六、适用场景与限制

6.1 适用场景

  • 单机或少量服务器的长期多版本备份,强调空间效率(去重 + 压缩)。
  • 对数据保密性有要求的异地备份:客户端加密后数据可存放于不受信任的远端(含 SSH 目标的低价外部空间)。
  • 以 SSH 为主要传输通道的环境:无需搭建专用服务端,远端仅需要有 borg 可执行文件与 SSH 账户。
  • 需要频繁细粒度快照的变更保护场景:去重使小时级快照的边际成本很低。

6.2 限制

  • 平台限制:原生支持 Linux、macOS、BSD;Windows 无原生版本,官方文档建议经 WSL 等兼容层使用。
  • 定位限制:Borg 面向文件系统目录备份,不提供裸设备或数据库热备的原生集成;数据库备份需先完成逻辑导出再交给 Borg。
  • 并发限制:同一存储库的并发写入需要单写者语义,多机同时写同一存储库不受官方推荐。
  • 版本线限制:2.0 线截至查询日仍为 beta(官方标注仅供测试),生产选择应落在 1.4 线。

七、同类选型对比

对比对象为 restic、rsync 与 Apple Time Machine,数据均来自各项目官方渠道,查询日期 2026-10-18。GitHub stars 官方未公布(本次溯源未获取到可验证统计),故不列该列。

维度BorgBackup 1.4restic 0.19.1rsync 3.5.1Time Machine
定位去重加密备份去重加密备份(多后端)高效文件同步/增量复制macOS 内置自动备份
开源许可BSD-3-ClauseBSD-2-ClauseGPLv3专有(随 macOS 提供)
最新版本1.4.5(2026-07-19)0.19.1(GitHub Releases)3.5.1(2026-09-21,rsync.samba.org)随 macOS 版本演进
版本节奏稳定线季度级修订,2.0 beta 活跃0.x 系列,年内多次修订2026 年 3.5.0/3.5.1 连发(含重大安全更新)随系统年度/季度更新
后端支持本地路径、SSH 远端本地、SFTP、S3 等对象存储、REST 服务器等任意可访问路径(SSH/守护进程模式)APFS 快照 + 外接磁盘/共享目录
加密客户端认证加密(AES-CTR-256+HMAC-SHA256)客户端加密无内置加密(依赖传输层)系统级(配合 FileVault)
去重块级内容定义分块块级内容定义分块无(按文件增量复制)文件级 + APFS 快照

选型建议一句话:如果你的备份目标以 SSH 远端/本地磁盘为主、追求极致去重与客户端加密,选 Borg;如果需要把备份直接落到对象存储(如 S3)等多后端,选 restic;如果只是主机间文件同步与简单增量复制,rsync 更轻;macOS 桌面用户的无感自动备份交给 Time Machine 即可。

八、参考链接

  1. BorgBackup 官网:https://www.borgbackup.org/
  2. 官方文档(1.4-maint):https://borgbackup.readthedocs.io/en/1.4-maint/
  3. Quick Start:https://borgbackup.readthedocs.io/en/1.4-maint/usage/quickstart.html
  4. 变更日志:https://borgbackup.readthedocs.io/en/1.4-maint/changes.html
  5. GitHub 仓库与 Releases:https://github.com/borgbackup/borg
  6. 内部实现(分块与加密):https://borgbackup.readthedocs.io/en/1.4-maint/internals.html
  7. rsync 官网(对比数据来源):https://rsync.samba.org/
  8. restic 官网(对比数据来源):https://restic.net/