Backrest v1.14.1 介绍与选型指南

Backrest 是 restic 的 Web UI 与备份编排器(GPLv3,Go 单二进制),本文基于官方源溯源其架构、功能与选型对比,检索日期 2026-10-26。

Backrest数据备份备份恢复Restic自托管goproxy2026/10/26

Backrest v1.14.1 介绍与选型指南

目标:讲清 Backrest 是什么、能解决什么问题、与其他备份工具/前端的量化差异,帮助你在 10 分钟内完成「是否选用」的判断。本文为纯联网溯源撰写的认知篇:所有事实、版本与量化数据均来自官方源并标注检索日期(2026-10-26),未包含本地部署实测结论;部署、配置与命令操作请见本专栏后续实战篇。

一、环境信息

  • 信息检索日期:2026-10-26(文中所有版本号、星数、发布记录均以此日期为准);
  • 官方仓库:github.com/garethgeorge/backrest(官方文档站 garethgeorge.github.io/backrest);
  • 本篇引用的量化口径:GitHub 仓库星数取自 shields.io 徽章(检索日快照),版本与发布记录取自 GitHub Releases 页与 pkg.go.dev 版本列表。

💡 说明:Backrest 与 pgBackRest 名字高度相似但毫无血缘关系,前者是 restic 的 Web 管理界面,后者是 PostgreSQL 专用的备份恢复工具,选型时务必先划清这条界线(详见本文七、7.4)。

二、软件概述

2.1 一句话定位

Backrest 是构建在 restic 之上的 Web UI 与备份编排器(官方原话:Web UI and orchestrator for restic backup):它把 restic CLI 的仓库创建、快照浏览、文件恢复等操作封装成浏览器可用的界面,并在后台以一套有主张(opinionated)的方式负责定时备份调度与仓库健康维护(forget/prune/check)。

2.2 基本事实(检索日快照)

项目值来源与口径
最新稳定版v1.14.1(2026-07-12 发布)GitHub Releases 页
前一版本v1.13.0(2026-05-04)、v1.14.0(2026-07-12)pkg.go.dev 版本列表
开源许可GPLv3仓库 LICENSE 文件
开发语言后端 Go,前端 SvelteKit官方 README/文档站
交付形态单二进制(含嵌入式 WebUI),唯一外部依赖为 restic官方 README
内置 resticv1.14.0 起捆绑 restic v0.19.1,并由 Backrest 自动托管升级v1.14.0 Release Notes
GitHub 星数7.7kshields.io 徽章(2026-10-26)
上游 restic 星数37kshields.io 徽章(2026-10-26)

💡 说明:Backrest 本身不做备份引擎——所有快照都是标准 restic 仓库。这意味着即使某天放弃 Backrest,仓库仍可用原生 restic CLI 直接读写,不存在私有格式锁定。这是它与大多数「自带备份格式」工具的本质区别,也是选型时最值得称道的一点。

2.3 更名核查

社区曾有「Backrest 与 pgBackRest 混淆」的更名讨论动向。经 2026-10-26 实查:GitHub 仓库仍为 garethgeorge/backrest,官方文档站仍为 garethgeorge.github.io/backrest,v1.14.1 发布公告亦以 Backrest 命名,截至检索日项目未更名。若后续跟进发现官方更名,应以官方最新名称为准。

三、核心架构

3.1 组件与数据流

Backrest 是单进程 Go 服务,内嵌 SvelteKit 构建的 WebUI 与 gRPC API。其核心数据流为:

浏览器(WebUI) ──gRPC/HTTP──> Backrest 服务进程 ──调 CLI──> restic 二进制 ──读写──> 备份仓库
                                     │
                                     ├─ config.json(仓库/计划/钩子/用户配置)
                                     └─ 本地数据库(操作日志、运行记录)

四个角色各司其职:WebUI 负责人机交互;Backrest 服务进程负责配置管理、调度编排与操作日志;restic 负责真正的去重、加密与传输;仓库则是标准 restic 存储布局(config/keys/data/index/locks/snapshots 目录)。

3.2 调度与编排

Backrest 内置编排器(orchestrator):启动时按计划表生成任务队列,到点自动运行备份,备份成功后自动执行 forget(按保留策略裁剪快照),并按仓库的 Prune/Check 策略定期维护。以官方文档的术语体系看,它把 restic 的四类核心操作(Backup/Forget/Prune/Restore)全部纳入统一管理与可视化。

💡 技术拓展:备份调度方式不止一种,常见对比如下。

调度方式原理/特点适用场景
系统层调度(cron/systemd timer)由操作系统定时拉起备份命令,工具本身无调度能力脚本型工具(裸 restic、resticprofile)
应用内调度(cron 表达式/固定间隔/上次运行时间)常驻进程自己维护任务队列,可感知任务重叠、失败重试Backrest 这类带编排器的服务
云端调度由备份目标端/控制面触发SaaS 备份产品

Backrest 采用应用内调度,支持 cron 表达式、最大频率间隔与「按上次运行时间」三种时钟口径,无需额外安装 cron 任务。

四、功能特性

依据官方 README 与文档站(检索日版本 v1.14.1),Backrest 的主要能力如下:

  • 仓库管理:新建 restic 仓库或接入既有仓库;支持本地路径、SFTP、S3、B2、Google Cloud、rclone 远端等 restic 全系存储后端(URI 格式如 b2:bucket、s3:bucket、sftp:user@host:/path、rclone:remote:path);
  • 备份计划:按计划定义备份路径、排除项、调度(cron/间隔/上次运行时间)与保留策略(按数量/按时间桶);
  • 快照浏览与恢复:网页内浏览快照文件树,支持整树恢复到指定路径或下载单个文件;
  • 仓库健康维护:自动调度 forget/prune/check/stats/unlock 等维护任务,可视化查看结果;
  • 钩子与通知:按操作阶段(开始/成功/失败/警告等)触发命令钩子,或推送 Discord/Gotify/Slack/Shoutrrr/Healthchecks 通知;
  • 多主机同步:多台机器上的 Backrest 实例可互相同步操作记录与快照状态(v1.14 系列持续修复 sync 相关问题);
  • 国际化与托盘:界面多语言(v1.14.0 新增韩语、波兰语翻译),Windows/macOS 安装包内置托盘图标并反映备份状态,Linux 提供实验性托盘(install.sh --experimental-linux-tray);
  • 运行兼容性:单二进制跨平台(Linux/Windows/macOS),可作为 systemd 服务常驻。

五、快速开始(最小可用示例)

以下流程整理自官方文档站 getting-started 页(检索日版本),用于建立整体认知;逐步骤的完整命令与实测回显见本专栏部署篇。

  1. 安装:从 GitHub Releases 下载对应平台发布包(Linux x86_64 为 backrest_Linux_x86_64.tar.gz,包内含 backrest 二进制与 install.sh 安装脚本),执行安装脚本后由 systemd 托管启动;
  2. 首次访问:浏览器打开 http://<服务器IP>:9898,完成实例 ID 与首个管理用户的初始化(用户凭据保存在 ~/.config/backrest/config.json;官方文档说明:忘记凭据时可删除配置中的 users 字段并重启服务来重置);
  3. 新建仓库(Add Repo):填写仓库名称与 URI(本地备份填一个磁盘目录即可,远端按后端填 s3:/b2:/sftp: 等 URI 并配好环境变量),设置加密密码;
  4. 新建计划(Add Plan):选择仓库、填写要备份的路径、设置 cron 调度(如每日零点 0 0 * * *)与保留策略;
  5. 运行与恢复:在计划页手动触发备份,完成后进入快照视图浏览文件树并恢复。

⚠️ 注意:官方文档特别强调——仓库加密密码与 config.json 必须异地另存一份(如密码管理器或加密存储),丢失后数据将无法恢复。

六、适用场景与限制

6.1 适用场景

  • 个人/家庭实验室服务器:需要图形界面管理多目录定时备份,又要保留 restic 的去重、加密与快照能力;
  • 中小团队 Linux 服务器:单节点自托管备份中枢,通过 S3/B2/rclone 把快照推到对象存储,配合钩子通知实现「备份失败即知」;
  • 多机统一视图:多台装有 Backrest 的机器互相同步状态,在一处查看全部实例的备份健康度;
  • restic 用户的可视化层:已有 restic 仓库,希望不改变仓库格式的前提下获得 Web 管理能力(Backrest 可直接接管既有仓库并索引历史快照)。

6.2 限制与注意

  • 不管理数据库热备:Backrest 只负责文件级快照;MySQL/PostgreSQL 等需要一致性的备份应先落盘逻辑备份(如 mysqldump),再由 Backrest 对产物做快照;
  • 单实例单机视角:调度与配置随实例本地保存(多主机同步是状态同步而非集中控制面),没有天然的中心化多租户管理;
  • 依赖 restic 版本匹配:托管 restic 由 Backrest 自动下载管理,网络受限环境需要手动放置 restic 二进制(部署篇有完整排障实录);
  • GPLv3 许可:集成到自有产品时需注意开源义务边界。

七、同类选型对比

7.1 对比范围说明

围绕「用 restic 做文件级备份」这一目标,可选路线有四类:裸 restic CLI、restic 配置增强器(resticprofile)、restic Web 前端(Backrest)、以及非 restic 生态的对位产品(Borg 系 GUI/托管)。另有名字相近的 pgBackRest 属于完全不同的领域,单列划界。

7.2 量化对比表(检索日 2026-10-26)

维度Backrestresticprofile裸 resticVortapgBackRest
定位restic 的 Web UI + 编排器restic 的声明式配置启动器去重加密备份引擎本身BorgBackup 桌面 GUI(Qt)PostgreSQL 专用备份恢复
GitHub 星数7.7k1.4k37k2.5k—(非本生态)
交互方式浏览器 WebUI + gRPC APICLI + YAML/JSON/TOML/HCL 配置纯 CLI桌面应用CLI + 配置文件
内置调度有(cron/间隔/上次运行时间)无(依赖 cron/systemd timer)无(需自配 cron)有(桌面端定时)有(配合 cron)
仓库格式标准 restic 仓库标准 restic 仓库标准 restic 仓库Borg 仓库自有格式(非 restic)
恢复体验网页浏览文件树/整树恢复/单文件下载交给 restic CLICLI restore桌面恢复对话框命令行/pgbackrest 体系
通知能力钩子命令 + Discord/Gotify/Slack/Shoutrrr/Healthchecks依赖外部脚本依赖外部脚本桌面通知依赖外部脚本/PG 生态
适用形态常驻服务(Linux/Win/macOS)常驻或定时皆可定时任务个人桌面数据库服务器
许可GPLv3GPL 系BSD-2GPLv3MIT

(星数均为 shields.io 检索日快照;pgBackRest 不适用本生态口径,故不列星数。)

关键差异与选型口径:要「看得见、点得动、有通知」的常驻备份服务,选 Backrest;要「配置即代码、融入既有 cron 体系、无 Web 暴露面」,选 resticprofile;只做一次性/脚本化备份且熟悉 CLI,裸 restic 足够;桌面端个人备份且偏好 Borg,选 Vorta;备份对象是 PostgreSQL 数据库本身,直接用 pgBackRest。

7.3 Backrest vs resticprofile 复合方案

两者并非完全互斥:Backrest 解决「人机交互与编排」,resticprofile 解决「配置工程化」。但二者都管调度与仓库配置,同时使用会出现职责重叠(两套计划、两套保留策略)。实践建议二选一:有运维值守、需要恢复操作界面 → Backrest;纯自动化、配置需要纳入 Git 审计 → resticprofile。若已有 resticprofile 配置库又想引入 Backrest,应把调度职责交给其中一方,另一方仅保留仓库参数。

7.4 与 pgBackRest 划清界限

pgBackRest 是 PostgreSQL 生态的专用备份恢复工具(C 语言实现,支持全量/差异/增量备份、并行压缩与流归档),命名中的「BackRest」与 Backrest 无任何关联。混淆风险点有三:搜索关键词重叠、都常驻于备份话题、都支持 S3 类远端。判别方法很简单——看备份对象:数据库实例选 pgBackRest,文件与目录选 Backrest/restic 系。

7.5 社区活跃度与版本节奏

  • 版本节奏:v1.13.0(2026-05-04)→ v1.14.0(2026-07-12)→ v1.14.1(2026-07-12),以「功能版本 + 同日补丁版」的方式快速跟进问题修复;
  • v1.14.x 主线内容:仪表盘重构、托盘状态、多语言扩充、restic 升级到 v0.19.1、多主机同步修复;v1.14.1 修复了保留策略被静默跳过、仓库 ID 变更后快照文件下载失败等问题(说明 forget/prune 正确性在持续收敛);
  • 分发活跃度:发布节奏以 GitHub Releases 为准(检索日最新 v1.14.1),官方同时提供 garethgeorge/backrest 的远程分发渠道供自托管部署。

八、参考链接

  • 官方仓库:https://github.com/garethgeorge/backrest
  • 官方文档站:https://garethgeorge.github.io/backrest/
  • 官方 getting-started:https://garethgeorge.github.io/backrest/introduction/getting-started
  • Releases 页:https://github.com/garethgeorge/backrest/releases
  • restic 官网:https://restic.net/
  • resticprofile 仓库:https://github.com/creativeprojects/resticprofile
  • Vorta 仓库:https://github.com/borgbase/vorta
  • pgBackRest 官方站:https://pgbackrest.org/