Duplicati:加密云备份的老牌选择,2.3 多目标备份与不可变存储

备份这事儿,说起来简单,做起来全是坑。选工具、选后端、配加密、设定时任务——每一步都能踩雷。最近在整理家里的备份方案,翻出来一个老牌开源项目 Duplicati,发现它今年 4 月刚发了 2.3 Stable,7 月底又跟进了 2.3.1.0 Beta,更新节奏相当活跃。

Duplicati 是什么

Duplicati 是一款开源的加密备份工具,核心卖点就三个字:带存储后端的块级去重加密备份。它不是简单的文件拷贝,而是把源数据切成固定大小的块,用 AES-256 加密后上传到你指定的任意存储后端——本地硬盘、网络共享(SMB/SFTP)、云对象存储(S3 兼容、Backblaze B2、OneDrive、Google Drive 等十几种)都行。

项目在 GitHub 上有将近 15k stars,用 C# 写的,跨平台支持 macOS / Windows / Linux。和同类的 Kopia 不同,Duplicati 从一开始就是面向云存储设计的——它不要求你有一台专门的备份服务器,任何能挂载的存储位置都可以当备份目标。

duplicati-home

2.3 Stable 的大更新

2026 年 4 月发布的 2.3 Stable 是一次相当大的版本跳跃,几个值得注意的新特性:

多目标同时备份:以前一个备份任务只能往一个地方写,现在可以配置多个目标,一次备份同时写到本地 NAS 和云端 S3。这对践行”3-2-1 备份策略”(3 份副本、2 种介质、1 份异地)的人来说太方便了——不用再建两个重复任务。

Microsoft 365 和 Google Workspace 备份:这是 2.3 的重头戏。Duplicati 现在可以直接备份 Office 365 租户(邮件、OneDrive、SharePoint、Teams)和 Google Workspace(Gmail、Drive、日历)。不过这个功能属于付费模块,免费版只能测试最多 5 个用户。

不可变存储(Immutability):支持在后端开启对象锁定,备份文件一旦写入,在设定时间内无法被删除或修改——即使攻击者拿到了你的凭证也删不掉旧备份。目前支持 S3、B2、Azure Blob 等后端。

Console 定价大改:付费订阅从每月 $5/台砍到了 $2/台(年付),降幅超过 60%。但免费版缩水了——现在只支持最多 2 台机器,而且去掉了远程管理功能。如果你只是个人家用,免费版完全够用;要是管好几台设备,得掏钱了。

duplicati-stable

2.3.1.0 Beta 又加了什么

7 月底放的 Beta 版本主要是体验改进:

  • 缺失源文件处理更智能:以前备份时如果某个源路径不存在,整个任务会直接中止。现在默认只出警告继续跑,除非你显式开了 --abort-if-source-missing
  • 数据库路径改为相对路径:迁移数据目录更方便了,不用再手动改一堆绝对路径
  • 源文件树改进:UI 里能直接看到远程源的内容(比如 M365 租户里的邮箱列表),选备份范围直观多了
  • 新增 Sync Copy Mode:快速文件复制模式,适合需要镜像同步的场景
  • KDE Plasma 的密钥环支持修复:Linux 桌面用户体验改善

和 Kopia 怎么选

之前写过 Kopia,很多人问它和 Duplicati 的区别。简单说:

Duplicati Kopia
核心定位 云优先的加密备份 快照式备份/归档
去重方式 块级去重(固定大小分块) 内容定义分块(可变大小)
加密 AES-256,内置 可选,需自行配置
UI Web UI + 系统托盘 Web UI + CLI 为主
后端支持 20+ 云/本地后端 主要靠 rclone 扩展
适合场景 个人/小团队,要上云 技术用户,要精细控制

我的实际感受是:Duplicati 上手门槛更低,Web 向导一步步引导你配好第一个备份任务,不需要记命令行参数。Kopia 更灵活,但学习曲线陡一些。如果你主要是想把重要文件自动备份到云存储,Duplicati 开箱即用;如果你想玩快照策略、版本控制级别的粒度,Kopia 更合适。

duplicati-github

部署方式和注意事项

Duplicati 支持多种部署方式:

  • 桌面版:macOS 上下载 .dmg 安装,会有系统托盘图标,浏览器打开 http://localhost:8200 进 Web 管理界面
  • Docker:官方提供 duplicati/duplicati 镜像,挂载配置目录即可。注意容器里跑的话,备份源要用卷挂载或者网络路径
  • Headless 模式:服务器上可以无界面运行,通过 --webservice-interface=any 暴露 Web UI

几个踩过的坑

本地数据库是命根子:Duplicati 用一个 SQLite 数据库记录所有备份块的索引和元数据。这个库坏了,即使云端备份文件完好也可能无法恢复。所以——备份你的 Duplicati 数据库,这是官方反复强调的。2.3 新增了把配置存到备份目标里的选项(store-task-config),一定程度上缓解了这个问题。

大文件库首次备份慢:块级去重在首次全量备份时需要读取并哈希每个文件的每个块,TB 级数据首次备份可能跑很久。后续增量就快多了,因为只传变化的块。

免费版的限制要注意:2.3 之后免费版限 2 台机器、无远程管理。如果你家里有 NAS + 台式机 + 笔记本三台设备要备份,免费版就不够用了。不过你可以绕过 Console,每台机器独立装 Duplicati 各自配置,只是少了集中管理的便利。

恢复测试一定要做:备份不做恢复测试等于没备份。Duplicati 有个 “Dry run” 模式可以在不实际写文件的情况下验证恢复流程,建议定期跑一次。

总结

Duplicati 是一个成熟可靠的开源备份方案,特别适合”我要把文件安全地备份到云端”这个需求。2.3 的多目标备份和不可变存储让它对数据安全要求更高的人也更有吸引力。虽然免费版在收缩,但个人使用的核心功能完全不受影响。

如果你还在用手工拷贝或者简单的 rsync 脚本备份,不妨试试 Duplicati——花半小时配好,之后就不用操心了。

发表评论