---
canonical: https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/
language: zh
generated: 2026-10-21T13:34:54.966Z
---

[首页](https://koalavps.com/zh/) / [探索](https://koalavps.com/zh/resources/) /  KoalaVPS 现场笔记

KoalaVPS 现场笔记

# 真正可恢复的加密备份。

使用 restic 或 Borg 等工具构建独立的恢复路径，并在需要之前测试该路径。

[找到你的 VPS](https://koalavps.com/zh/vps/)

## 本文档内容

[选择仓库边界](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-1)[采集一致的数据](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-2)[让删除变得更难](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-3)[安排检查和恢复演练](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-4)[将添加副本与删除历史分开](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-5)[带通过条件的恢复演练](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-6)[在选择排除项之前构建恢复清单](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-7)[检查存储的数据以及仓库元数据](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-8)[让维护工作不受已失陷客户端的控制](https://koalavps.com/zh/guides-encrypted-vps-backups-restic-borg/#section-9)[知识库](https://koalavps.com/zh/resources/)

## 选择仓库边界

使用与生产服务器不同的目的地和凭据。客户端加密可以保护存储的副本，但仓库密码或密钥必须私下备份。丢失它可能导致所有加密快照无法使用。

## 采集一致的数据

使用数据库原生转储或应用支持的快照流程。备份配置、部署说明以及恢复所需的受保护密钥。仅在确定可以重建时排除临时缓存。

## 让删除变得更难

考虑使用仅追加或不可变的目标位置，使源机器无法擦除所有历史副本。尽可能将保留和清理凭据分开。仅靠加密无法阻止被入侵的服务器删除可写仓库。

## 安排检查和恢复演练

监控作业退出状态和最近一次良好备份的时间。运行工具支持的仓库完整性检查。定期恢复样本，并在重大应用程序变更后进行完整的恢复演练。

## 将添加副本与删除历史分开

仅追加目标可让生产服务器添加快照，同时将删除权限保留在另一台受信任的机器上。保留策略仍需仔细审查：伪造的较新快照可能破坏某些基于日历的选择策略。查看工具指南，运行保留策略试运行并监控容量。Restic 的 forget 操作选择快照；prune 删除未被引用的已存储数据。

- 将仓库维护凭据与生产机器隔离

- 在允许删除前先执行保留策略试运行

- 每次恢复演练都使用新的空目标

```
restic check
restic snapshots
restic restore latest --target /srv/restore-drill
```

官方文档：[Restic 保留与修剪](https://restic.readthedocs.io/en/stable/060_forget.html)

## 带通过条件的恢复演练

选择一个现实的故障场景：删除的文件、丢失的数据库或整机重建。恢复到单独目录或隔离主机。验证文件内容、权限以及应用程序使用它们的能力。记录耗时以及运行手册中缺失的任何手动步骤。仓库检查确认的是与应用程序成功恢复不同的属性。

- 首次测试时不要在生产应用上直接恢复

- 确认加密凭据可独立恢复

- 如果最新成功备份超过恢复目标，则发出警报

## 在选择排除项之前构建恢复清单

列出无法通过重装软件包重建的内容：数据库内容、上传文件、应用配置、签名或加密密钥以及部署版本。在每一项旁记录一致性方法。数据库转储属于某个确定的时间点；复制繁忙的数据库目录可能产生不同结果。将仓库访问权限、其口令以及任何 Borg 密钥导出保存在单独的私有恢复位置。在将其作为唯一恢复副本之前，测试替换机器能否打开该仓库。

- 说明恢复点目标：可能丢失多少近期工作。围绕该要求设置计划。

- 说明恢复时间目标：重建可能耗时多久。在演练中包含数据库导入和 DNS 变更。

- 检查原本针对缓存的排除规则是否也移除了上传文件、容器卷或受保护的配置。

- 请使用已安装的 Borg 主版本的文档；仓库格式和命令并非在所有版本之间通用。

官方文档：[Borg：加密、一致性与恢复](https://borgbackup.readthedocs.io/en/stable/quickstart.html)

## 检查存储的数据以及仓库元数据

Restic的默认仓库检查和通读验证承担不同工作。安排数据验证时需考虑其带宽和运行时间成本。示例检查了已定义的五分之一包文件；后续计划检查必须使用其余分数以覆盖整个仓库。随机选择的子集无法提供相同的覆盖保证。这两种操作都不能证明应用能用恢复的数据启动。

```
restic check --read-data-subset=1/5
restic snapshots --host example-host
restic restore latest --host example-host --target /srv/restore-drill
```

官方文档：[restic：仓库检查与数据验证](https://restic.readthedocs.io/en/stable/045_working_with_repos.html)

## 让维护工作不受已失陷客户端的控制

Borg 仅追加存储会保留已提交的段数据，但客户端仍可更改可见的归档列表；恢复和压缩需要按文档执行管理流程。将远程备份凭据限制为 Borg 的服务器命令，而非可能绕过这些保护的无限制 shell 或文件系统登录。使用 restic 时，请查阅仅追加保留的 keep-within 指南。在进行任何可能删除历史的维护之前，请检查仓库健康状况并在受信任的机器上预览选择。

- 监控最近一次成功副本的时间、仓库增长、缓存空间以及两端的可用容量。

- 如果恢复失败，在尝试修复或清理之前保留原始仓库和日志。

- 如果任务成功但预期文件缺失，请在更改保留策略前检查归档内容和排除模式。

- 通过在隔离环境中打开文件并运行应用检查来完成演练；将生产目标排除在恢复命令之外。

官方文档：[Borg：仅追加操作与维护](https://borgbackup.readthedocs.io/en/stable/usage/notes.html) · [restic：保留策略与仅追加考量](https://restic.readthedocs.io/en/stable/060_forget.html)

继续探索

## 继续阅读。

[指南 ### 备份的价值在于能否恢复。 围绕无法重建的数据以及服务可承受的丢失时间来设计备份。上传成功只是开始。…](https://koalavps.com/zh/backups/)[指南 ### 让机器始终属于你。 安全是一项持续的日常工作：减少暴露面、限制权限、谨慎打补丁，并确保可以恢复。…](https://koalavps.com/zh/server-security/)[指南 ### 你控制的文件，配有可测试的恢复。 Nextcloud 结合了文件存储、数据库、应用配置和可选集成。请保持它们一致。…](https://koalavps.com/zh/guides-self-host-nextcloud-on-a-vps/)

配置您的基础设施

## 掌控一切。 按你的条件部署。

无需身份文件。完整管理员权限。原生加密货币计费。

[选择配置](https://koalavps.com/zh/vps/)
