Borgmatic vs Restic:该使用哪个备份工具?
Source: Dev.to
请提供您希望翻译的文章正文内容,我将为您翻译成简体中文并保持原有的格式、Markdown 语法以及技术术语不变。
快速判决
两者都是优秀的 CLI 备份工具。Restic 更快,原生支持更多后端(S3、B2、Azure、GCS),且更易上手。Borgmatic(包装 BorgBackup)压缩效果更好,去重技术更成熟,并通过 cron 实现 Docker 原生调度。云备份请选择 Restic,本地/SSH 备份请选择 Borgmatic。
概述
Borgmatic 是一个围绕 BorgBackup 的配置包装器,提供基于 YAML 的配置、调度和钩子。BorgBackup 是一个专注于效率和安全性的去重归档工具。Restic 是一个独立的备份工具,具有类似的目标——去重、加密和速度——但原生支持更多的存储后端。
功能比较
| 功能 | Borgmatic (BorgBackup) | Restic |
|---|---|---|
| 配置 | YAML 配置文件 | CLI 标志 / 环境变量 |
| Docker 支持 | 官方镜像 + cron | CLI 工具(脚本 + cron) |
| 存储后端 | 本地,SSH/SFTP,仅限 | 本地,SFTP,S3,B2,Azure,GCS,REST |
| 加密 | AES‑256(repokey 或 keyfile) | AES‑256(始终开启) |
| 压缩 | LZ4、zstd、zlib、lzma | zstd(自 v0.16 起) |
| 去重 | 基于内容的分块 | 基于内容的分块 |
| 增量备份 | 是 | 是(快照) |
| 挂载备份 | 是(FUSE) | 是(FUSE) |
| 前/后钩子 | 是(数据库转储,通知) | 通过脚本 |
| 健康检查集成 | 是(healthchecks.io,Apprise) | 通过脚本 |
| 数据库转储钩子 | 内置(PostgreSQL,MySQL,MongoDB) | 通过脚本 |
| 备份验证 | borg check | restic check |
| 修剪/保留 | 内置(keep‑daily,keep‑weekly 等) | 内置(--keep-daily 等) |
| 速度 | 快 | 更快(尤其是恢复) |
| 内存使用 | 中等 | 中等 |
| 密钥管理 | 关键 — 使用 borg key export 导出 | 仅密码(更简单) |
Installation Complexity
Borgmatic 有官方的 Docker 镜像 (ghcr.io/borgmatic-collective/borgmatic:1.9.14),其中包含 BorgBackup、cron 调度和 YAML 配置文件。挂载你的配置、SSH 密钥(用于远程仓库)以及源数据。YAML 配置文档完善,支持在备份前进行数据库转储的钩子。
Restic 通常作为系统软件包安装(apt install restic),并通过 cron 或 systemd 定时器进行调度。虽然也有 Docker 镜像,但使用较少,因为 Restic 是一次性 CLI 工具,而非守护进程。
Borgmatic 的 Docker 方式更为自包含。Restic 的系统级方式更简单,但需要手动设置调度和钩子。
性能与资源使用
Restic 通常更快,尤其是在恢复时。两者都使用基于内容的分块进行去重,但在处理大文件更改时,Restic 的实现略显更高效。
BorgBackup 提供更好的压缩选项——LZ4(快速)、zstd(均衡)、zlib 和 lzma(最高压缩)。Restic 在 v0.16 版中加入了 zstd 压缩,但可选项较少。
对于通过 SSH 进行的备份(BorgBackup 的主要使用场景),两者的性能相当。随着云存储后端的使用,Restic 的优势更加明显。
社区与支持
两者都是成熟、维护良好的项目,拥有活跃的社区。BorgBackup 已存在更久(Attic 的分支,2015 年)。Restic 于 2014 年启动,并在自托管社区中获得了显著的动能。
用例
选择 Borgmatic 的情况…
- 你的备份目标是通过 SSH 的另一台服务器
- 你需要内置的数据库转储钩子(PostgreSQL、MySQL)
- 你想使用 Docker 原生的 cron 进行备份调度
- 你需要尽可能高的压缩比
- 你更喜欢基于 YAML 的配置(无需脚本)
- 你使用 healthchecks.io 或 Apprise 进行监控
选择 Restic 的情况…
- 你将备份存储到 S3、Backblaze B2 或其他云存储
- 你想要最快的恢复性能
- 你更倾向于 CLI 简洁而不是配置文件
- 你已经熟悉 Restic 的界面
- 你需要多个存储后端以实现 3‑2‑1 备份
- 你想要最简洁的基于密码的加密
最终结论
Restic 在云存储备份方面胜出。 原生 S3 和 B2 支持、更快的性能以及更简化的加密(仅密码,无需导出密钥)使其成为基于云的备份策略的更佳选择。
Borgmatic 在基于 SSH 的备份方面胜出。 包含内置 cron、YAML 配置、数据库转储钩子和通知集成的 Docker 镜像,使其成为服务器对服务器备份的最即插即用解决方案。
两者都很出色;最大的因素是你的备份目的地:云存储 → Restic,SSH 服务器 → Borgmatic。