UrBackup 2.5.38 介绍与选型指南

UrBackup 是一款 C/S 架构的开源网络备份系统,兼具文件备份与磁盘镜像备份能力。本文基于官方公开资料梳理其核心特性、工作原理与版本节奏,并与 BorgBackup、Restic、Duplicati、Bacula 从社区活跃度、版本节奏、兼容矩阵三个维度量化对比,给出选型建议。数据实查日期 2026-10-19。

UrBackup备份恢复BorgBackupResticDuplicati2026/10/19

UrBackup 2.5.38 介绍与选型指南

一、产品概述

UrBackup 是一款开源的 C/S(Client/Server)架构网络备份系统,由 Martin Raiber 发起并持续维护,官方代码仓库托管于 GitHub(uroni/urbackup_backend,AGPL-3.0 许可证)。其定位是"Client/Server 网络备份系统":在一台服务器上集中管理备份存储,局域网或互联网中的多台机器安装客户端代理后,由服务端统一调度、执行和存储备份。

与常见的单机备份工具(如《BorgBackup 1.4 介绍与选型指南》《Restic 0.19 介绍与选型指南》)不同,UrBackup 从设计之初就面向"一个管理端管多台机器"的场景:管理员在 Web 管理端(默认端口 55414)就能看到所有客户端的在线状态、最近备份时间、存储占用,并能远程触发备份、浏览任意时间点的备份内容、把文件直接恢复回客户端。

当前最新稳定版本(实查日期 2026-10-19,来源 GitHub Releases):

角色最新稳定版发布日期说明
服务端2.5.382026-08-30Release 名 "2.5.38 server"
客户端(Windows)2.5.322026-06-17Release 名 "2.5.32 client (Windows only)"
客户端(Linux)2.5.312026-06-17Release 名 "2.5.31 client (Linux only)"

需要特别注意:客户端 2.5.32 是 Windows 专用版本,Linux 客户端的最新稳定版是 2.5.31。Windows 客户端和服务端版本号独立演进,选择时不要按"客户端版本必须等于服务端版本"理解。

二、核心特性

依据官方下载页与文档公开描述,UrBackup 的核心特性可以归纳为五点:

1. 文件备份与镜像备份双轨。 文件备份按目录/文件粒度备份,用户可以自选备份哪些路径,恢复时支持浏览目录树、恢复单个文件或整个目录;镜像备份则对整块分区/磁盘做块级快照备份(Windows 下输出 VHD(Z) 格式,Linux 下依赖 LVM 等快照机制),用于整机灾难恢复。两者共用同一套增量与去重机制。

2. 块级去重与合成全量。 UrBackup 服务端使用固定大小块去重(默认 treehash 哈希模式),同一块数据在所有客户端、所有备份点之间只存一份。增量备份只传输变化的块;多次增量后可以"合成全量"(synthetic full),不需要重新传输全部数据即可得到一个完整的全量备份视图。从服务端设置页可以看到相关选项:全量文件传输模式(local_full_file_transfer_mode=hashed)、镜像合成方式(internet_full_image_style=synthetic)等。

3. 客户端零配置自动发现。 客户端安装后通过 UDP 广播(端口 35623)自动发现同网段服务端并完成注册,管理员在 Web 端确认即可开始备份。跨网段场景支持"互联网客户端"模式(服务端开启 55415 端口 + 互联网模式密钥认证)。

4. 完整的 Web 管理端。 内置 Web 管理界面(默认 55414 端口),覆盖状态总览、备份浏览、日志查看、用户/组权限、存储统计、设置管理全部功能;同时提供 Windows 客户端托盘 GUI 与 Linux/macOS 命令行工具 urbackupclientctl。

5. 多平台与多种交付形态。 服务端覆盖 Windows、Debian/Ubuntu(deb 包 + PPA 仓库)、RHEL/SuSE 系(OpenSuSE Build Service)、Arch/Gentoo、FreeNAS/QNAP/OpenMediaVault 等 NAS 平台,以及官方多架构 Docker 镜像(x86/ARM 32/64 位);客户端覆盖 Windows(exe/MSI)、macOS(pkg)、Linux(官方自更新安装脚本,含 x86/x86_64/ARMv6+/ARM64 静态构建)、Android(静态构建)。另提供可引导的 UrBackup Restore Stick 2.6.0(x64)用于裸机镜像恢复。

三、工作原理与备份机制

UrBackup 的备份流程可以分为四步,理解这一流程对后续的运维排障很有帮助:

第一步:发现与注册。 客户端启动后(Linux 下是 urbackupclientbackend 服务,配置文件 /etc/default/urbackupclient)通过 UDP 广播寻找服务端,或按配置直连服务端 IP。服务端与客户端交换身份密钥(服务端身份公钥 + 客户端 access key)完成互信注册。

第二步:索引与差异计算。 服务端按调度(或管理员手动触发)发起备份。客户端扫描备份目录(Linux 客户端通过 urbackupclientctl add-backupdir 或服务端下发配置确定),生成文件清单和分块哈希;服务端与自己持有的历史索引比对,计算出"需要传输的差异块"。

第三步:快照与传输。 为保证数据一致性,客户端优先使用文件系统快照(Windows VSS、Linux LVM/btrfs/dattobd);快照不可用时退化为直接备份(服务端日志会记录 Backing up "ubdata" without snapshot.)。差异块经压缩传输到服务端,与历史块硬链接组装出该备份点的完整目录树。

第四步:入库与告警。 服务端写入备份存储目录(按 客户端名/YYMMDD-HHMM 组织,如 backup-client1/261019-0844),更新备份数据库,然后向客户端同步文件访问令牌(access token)。若某客户端超过"备份间隔 × 告警倍数"仍未成功备份,服务端内置的 Lua 告警脚本会触发告警(默认发邮件,也可替换为 Webhook)。

关于镜像备份的适用边界:Windows 客户端可以做全盘镜像备份并支持从备份直接启动卷挂载;Linux 客户端的镜像备份依赖块设备快照机制(LVM 等),在纯目录、无块设备快照的环境中会显示 image_not_supported,此时只能使用文件备份。

四、版本发布节奏(2026-10-19 实查)

从 GitHub Releases(uroni/urbackup_backend)可以还原出近两年的版本节奏:

发布日期版本类型
2025-04-262.4.142.4 系列服务端收尾版
2025-04-262.5.332.5 系列服务端
2025-11-082.5.34服务端
2026-01-112.5.35服务端
2026-02-052.5.28客户端
2026-02-122.5.29客户端
2026-04-232.5.37服务端
2026-04-232.5.30客户端
2026-06-172.5.31客户端(Linux only)
2026-06-172.5.32客户端(Windows only)
2026-08-302.5.38服务端(当前最新)

几点观察:

  1. 服务端 2.5 系列大约每 2~5 个月发布一个版本(2.5.33 → 2.5.38 用时 16 个月发布 5 版),项目处于活跃但"克制"的维护节奏,没有频繁的大版本更替。
  2. 服务端与客户端独立发版:同一日期可能同时发布服务端和客户端(如 2026-04-23、2026-06-17),版本号各自推进。
  3. 存在版本号跳跃(无公开的 2.5.36 服务端 Release),选型时以 GitHub Releases 页实际列表为准,不要按版本号顺推。
  4. 2.4 系列与 2.5 系列曾在同一天(2025-04-26)各发布一版,说明旧大版本有跟进维护期,但新特性只落在 2.5。

五、同类选型对比

以下对比数据实查日期均为 2026-10-19。UrBackup、BorgBackup、Restic、Duplicati 的数据来自 GitHub API(仓库元数据与最新 Release);Bacula 无官方 GitHub 仓库,数据来自其 SourceForge 项目页(RSS 与项目描述)。

5.1 社区活跃度对比

指标UrBackupBorgBackupResticDuplicatiBacula
官方代码托管GitHub uroni/urbackup_backendGitHub borgbackup/borgGitHub restic/resticGitHub duplicati/duplicatiSourceForge(无官方 GitHub 主仓库)
Stars93913,86136,65815,133无 stars 体系(以下载量计)
最近代码推送2026-10-152026-10-192026-10-182026-10-19SourceForge 文件更新 2026-08-06
主要开发语言C++PythonGoC#C
许可证AGPL-3.0(backend 仓库 LICENSE 实查)BSD 3-clause(官网声明)BSD-2-Clause(GitHub API 实查)MIT(仓库 LICENSE 实查,2026 年起)AGPLv3(社区版)

单看 Stars,Restic(36,658)遥遥领先,Duplicati(15,133)和 BorgBackup(13,861)处于第二梯队,UrBackup(939)规模最小。但要注意两点:其一,UrBackup 的主仓库 urbackup_backend 只是服务端引擎,其 Web 前端(urbackup_frontend_wx,127 stars)、恢复盘(urbackup_restore_cd)等是独立仓库,社区讨论集中在官方论坛(forums.urbackup.org)而非 GitHub;其二,Bacula 以 SourceForge 下载量为社区规模口径,其项目页自述"Based on Source Forge downloads, Bacula is the most popular Open Source backup program",这类老牌项目的影响力本就不体现在 Stars 上。因此 Stars 只能反映"开发者社区热度",不等于产品成熟度或企业采用度。

5.2 版本节奏对比

维度UrBackupBorgBackupResticDuplicatiBacula
最新稳定版服务端 2.5.38(2026-08-30)1.4.5(2026-07-18)0.19.1(2026-07-05)2.4.0.1(2026-10-07)15.0.3(2025-03-27);另有 beta 17.0.0(2026-08-06)
近一年发版服务端 3 版(2.5.35/2.5.37/2.5.38)1.4.x 维护线小版本0.19.0 → 0.19.12.4.0.1(长期 2.1 beta 后的稳定线)15.0.3(一年一版节奏)
客户端/服务端关系独立发版(服务端 2.5.38 / 客户端 Linux 2.5.31 / Windows 2.5.32)无服务端概念无服务端概念无服务端概念Director/Storage/File Daemon 三组件协同

UrBackup、Bacula 是 C/S 型产品,版本节奏围绕服务端引擎展开;Borg、Restic、Duplicati 是"仓库型/单机型"工具,没有服务端版本一说,这也决定了它们各自适合的管理规模。

5.3 功能与兼容矩阵

能力UrBackupBorgBackupResticDuplicatiBacula
架构模型C/S 集中管理单机 CLI + 仓库单机 CLI + 仓库单机 GUI + 仓库C/S 企业级(Director/Storage/File Daemon)
文件备份支持支持支持支持支持
磁盘/分区镜像备份支持(Windows VHD(Z);Linux 依赖 LVM 等)不支持不支持不支持依赖模块与插件
去重服务端块级去重(合成全量)块级去重(仓库内)块级去重(仓库内)块级去重企业版特性
加密传输/存储可选加密仓库级加密(必选)仓库级加密(必选)仓库级加密企业版加密
Web 管理端内置(55414)无官方(第三方)无官方桌面 GUI(Web UI 在 2.x beta 线)企业版/第三方 bacula-web
客户端零配置接入UDP 广播自动发现不适用不适用不适用需手工注册
Linux 客户端官方自更新脚本(x86/ARM 全覆盖)原生支持原生支持(Go 单二进制)支持(依赖 .NET)File Daemon 原生
Windows 全盘恢复UrBackup Restore Stick 2.6.0 引导恢复不适用不适用不适用企业方案
集中报表/多租户Web 端按用户/组授权无无无Director 集中调度,企业级目录

5.4 选型结论

结合上述数据,五款工具的定位差异清晰:

  • 选 UrBackup:需要"一台备份服务器集中管理几十上百台机器"、要 Windows 全盘镜像备份、希望非专业用户通过 Web 界面自助浏览/恢复文件、客户端 OS 多样(含 ARM 设备)。典型场景:中小企业内网备份、家庭实验室多机备份、托管服务商给客户提供备份增值服务。
  • 选 BorgBackup:Linux/Unix 为主的服务器群、由运维人员脚本化操作、追求仓库级加密与压缩比。它没有 C/S 管理端,配合 SSH + cron 使用。跨 Windows 场景受限(需 WSL 或 v2 beta)。
  • 选 Restic:想要 Borg 的仓库模型但要求全平台单二进制(含 Windows/macOS 原生)、云对象存储后端支持丰富(S3/B2 等)。同样无集中管理端,多机方案靠脚本或上层编排。
  • 选 Duplicati:单机用户(含 Windows 桌面)需要图形界面做加密备份到云存储。其 2.x 稳定线发布偏慢(长期在 2.1 beta,2026-10 才有 2.4.0.1 稳定版),且无集中管理能力。
  • 选 Bacula:企业级大规模环境,需要 Director 集中调度、磁带库支持、目录级作业编排与合规审计,且有人力维护其复杂度。社区版功能精简,完整能力在商业版(Bacula Enterprise)。

一句话总结:"多客户端集中管理 + 镜像备份 + 开箱即用 Web 界面"这个组合需求下,UrBackup 在开源阵营里几乎没有同位竞品;如果只是少数 Linux 机器的脚本化备份,Borg/Restic 更轻;如果是大型企业要磁带库和目录服务,Bacula 更重。UrBackup 的相对短板也应如实认知:仓库本身不强制加密(加密为可选项)、GitHub Stars 口径的社区规模小、服务端没有官方的分布式/集群方案,超大规模(TB 级单实例)需要自行规划存储。

六、参考链接

  1. UrBackup 官网:https://www.urbackup.org/
  2. UrBackup 下载页(含全部安装形态与 Docker 命令):https://www.urbackup.org/download.html
  3. GitHub 仓库(服务端/后端):https://github.com/uroni/urbackup_backend
  4. GitHub Releases(版本实查来源):https://github.com/uroni/urbackup_backend/releases
  5. 服务器管理手册:https://www.urbackup.org/ServerAdminGuide-v2.4.x.pdf
  6. 官方论坛:https://forums.urbackup.org/
  7. BorgBackup 官网(对比数据来源):https://www.borgbackup.org/
  8. Restic 官网(对比数据来源):https://restic.net/
  9. Duplicati 官网(对比数据来源):https://duplicati.com/
  10. Bacula SourceForge 项目页(对比数据来源):https://sourceforge.net/projects/bacula/