备份与恢复
你的应用已在生产环境运行。现在确保你永远不会失去它。rdc 可以将整个仓库(应用、数据库、文件、配置)推送到外部存储,随时拉取回来。应对勒索软件、硬件故障,万无一失。
观看教程
三个步骤
- 配置存储提供商。
- 推送备份。
- 需要时恢复。
第一步:配置存储
你需要一个 rclone 配置文件。如果你已在使用 rclone,可以直接导入:
time rdc config storage import --file rclone.conf
支持 S3、B2、Google Drive、Dropbox 等众多存储服务。验证已配置的内容:
time rdc config storage list
第二步:推送备份
time rdc repo push --name my-app -m my-server --to my-storage
整个仓库(应用、数据库、文件,一切)都已备份。由于仓库本身是加密的,备份也是加密的。无需额外的密钥管理。
随时列出备份:
time rdc repo backup list --from my-storage -m my-server
为什么没有停机时间?
备份上传时应用保持运行。这是如何保证一致性的?
原理与 fork 相同。rdc 先 fork,然后上传 fork。fork 捕获了那一刻的状态,你的线上应用继续运行。无停机,无不一致。
第三步:在新服务器上恢复
假设你的服务器宕机了。设置新服务器,将其添加到 rdc,然后拉取:
time rdc repo pull --name my-app -m new-server --from my-storage
然后启动:
time rdc repo up --name my-app -m new-server
应用回来了。相同的数据,相同的容器,不同的机器。
更快的备份:机器到机器
你也可以直接在机器之间推送,无需经过云存储:
time rdc repo push --name my-app -m my-server --to-machine backup-server
进阶提示。 存储上传每次都会发送全量数据。机器到机器只发送差异部分。第一次机器到机器推送需要正常时间,但此后每次推送都会快得多。非常适合频繁备份。
下一篇:监控。