Loading...

文章背景图

restic:快速高效安全的跨平台备份程序|部署与使用全指南

2026-11-02
0
- 字
- 分钟
|

restic · 快速高效安全的备份程序 · 中文部署与使用全指南

项目仓库: https://github.com/restic/restic

开源协议:BSD 2-Clause · 实现语言:Go · 平台:Linux / macOS / Windows / FreeBSD / OpenBSD · 形态:单二进制 CLI · 无网络端口 · 后端:本地 / sftp / REST / S3 / Swift / B2 / Azure / GCS / rclone

说明:restic 官方 README 未提供 logo 或界面截图,按规程本篇不设封面、正文不强配图。


1 项目简介

restic(仓库名 restic/restic)是一个快速、高效、安全的备份程序:在 Linux / macOS / Windows(及 FreeBSD、OpenBSD)上做加密备份,支持多种后端存储。它的核心设计原则是——简单、快、可校验、安全、高效。

说明:restic 是命令行工具,没有服务端、不监听端口;备份数据默认加密,且假设存储后端是不可信环境(共享空间、云盘管理员),数据加密在本地完成。

1.1 核心信息一览

项目项 内容
项目名称 restic
仓库地址 github.com/restic/restic
项目定位 跨平台加密备份与恢复程序
开源协议 BSD 2-Clause
实现语言 Go
平台 Linux / macOS / Windows / FreeBSD / OpenBSD
形态 单二进制 CLI
加密 客户端加密,防篡改 / 防窃听
后端 本地 / sftp / REST / S3 / Swift / B2 / Azure / GCS / rclone

1.2 适用场景

  • 想把文件增量备份到本地、另一台机器(sftp)、对象存储(S3 / B2 / Azure / GCS)。
  • 要求备份数据加密后再上传,不信任后端。
  • 想要去重增量、可校验恢复的备份方案。

1.3 能力边界(官方口径)

  • 设计原则:备份要快、恢复要简单、要能验证数据可恢复、要安全、增量要去重。
  • 密码即一切:仓库密码丢失意味着数据不可恢复(官方明确警告)。

2 功能特性

  • 多后端:本地目录、sftp(SSH)、HTTP REST 服务器、Amazon S3(及兼容)、OpenStack Swift、BackBlaze B2、Azure Blob、Google Cloud Storage,以及通过 rclone 接更多服务。
  • 加密:客户端加密,保证机密性与完整性。
  • 增量 + 去重:后续快照只存真实增量,重复数据先去重再写后端。
  • 可校验:restic check 验证数据可恢复;restic mount 通过 FUSE 浏览历史快照。
  • 可复现构建:0.6.1 起的发布二进制可字节级复现。

3 官方界面预览

restic 是纯命令行工具,无图形界面,按规程不配图。

4 官方跳转链接汇总

类别 链接 说明
仓库主页 https://github.com/restic/restic 源码与 README
官方文档 restic.readthedocs.io 安装、用法、后端
安装指南 020_installation 各平台安装
准备新仓库 030_preparing_a_new_repo 后端配置
论坛 forum.restic.net 问答
rest-server github.com/restic/rest-server 官方 HTTP 后端

5 前置要求

  • 安装 restic 二进制(见文档安装页)。
  • 准备好后端:本地路径、sftp 账号、或对象存储凭据。
  • 选一个强密码——它是唯一的加密密钥。

6 方式一:快速开始(本地仓库)

# 1. 初始化仓库(会要求输入密码)
restic init --repo /tmp/backup

# 2. 备份目录
restic --repo /tmp/backup backup ~/work

# 3. 恢复或浏览
restic restore  --repo /tmp/backup <快照ID> --target /目标目录
restic mount --repo /tmp/backup /mnt/restic   # FUSE 浏览历史

官方示例输出:

$ restic --repo /tmp/backup backup ~/work
scan [/home/user/work]
scanned 764 directories, 1816 files
[0:29] 100.00%  54.732 MiB/s  1.582 GiB / 1.582 GiB  2580 / 2580 items  0 errors
snapshot 40dc1520 saved

7 方式二:对象存储后端

# S3 兼容(以 AWS S3 为例,其他 S3 兼容同理)
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
restic -r s3:s3.amazonaws.com/bucket_name init
restic -r s3:s3.amazonaws.com/bucket_name backup ~/work

# 通过 rclone 接更多服务
restic -r rclone:remote:path backup ~/work

详细各后端配置见官方文档 030_preparing_a_new_repo.html。

8 配置项说明

  • 仓库位置:-r / --repo 指定。
  • 密码:交互式输入,或用 RESTIC_PASSWORD 环境变量 / --password-file。
  • 后端凭据:通过环境变量(如 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY)传入。

9 常用运维命令

restic snapshots            # 列快照
restic check                # 校验数据可恢复
restic forget --prune ...   # 按策略清理旧快照
restic stats                # 仓库用量统计

10 常见故障排查

  • 忘了密码:官方明确——密码丢失数据不可恢复,只能重初始化。
  • 后端连不上:检查网络、凭据(环境变量)、后端类型前缀(s3: / rclone: / sftp:)。
  • 恢复慢:restic 只传输需要恢复的文件所需数据;restic mount 可先浏览确认要恢复哪些。
  • 增量没生效:确认用同一个 --repo,restic 自动去重增量。

11 风险与合规说明

  • BSD-2-Clause 许可;备份密码即唯一密钥,务必离线安全保管。
  • 备份在本地加密后才上传,假设后端不可信;但仍要定期演练恢复——备份不等于恢复,restic check 定期跑。
  • 本文命令来自官方 README 与文档,随版本可能调整,以 restic.readthedocs.io 为准。
评论交流

文章目录