用 rclone 把 NAS 数据备份到云端:配置、加密与恢复演练
为什么需要云端这一份
3-2-1 备份原则里的”1″,指的是一份异地副本。本地的 RAID、快照、外接硬盘都挡不住这些情况:
- 火灾、水淹
- 盗窃(NAS 被整体搬走)
- 勒索软件(会加密所有能访问到的存储,包括挂载的外接盘和同一网络内的共享目录)
- 误操作(你删了存储池,本地所有副本一起消失)
云端对象存储是目前性价比最高的异地方案:按实际使用量付费,不需要维护硬件,天然异地。
rclone 是什么
rclone 是一个命令行工具,支持几十种云存储服务,被社区称为”云存储的 rsync”。它的核心能力:
- 在本地和云端之间同步/复制
- 支持增量(只传变化的部分)
- 支持服务端加密(crypt)
- 支持限速、并发控制、重试
- 支持校验(check)
安装:
# Linux
curl https://rclone.org/install.sh | sudo bash
# macOS
brew install rclone
多数成品 NAS 也可以通过套件中心或 Docker 安装。
配置远端
rclone config
交互向导会引导你选择存储类型、填写凭证。配置完成后生成一个配置文件(通常在 ~/.config/rclone/rclone.conf)。
常见的国内可选服务:腾讯云 COS、阿里云 OSS、七牛云、又拍云、火山引擎 TOS。 常见的海外服务:Backblaze B2、Wasabi、AWS S3、Cloudflare R2、Google Drive。
选择建议:
- 优先选有”免费额度”或”低频访问”档位的服务,备份数据访问频率极低,用低频/归档存储类型能省不少钱
- 注意出口流量费。备份上传通常免费或便宜,但下载(恢复)往往要收流量费,这是很多人忽略的成本
- 国内服务延迟低、速度快,但需要注意合规要求(域名备案等)
- R2 的卖点是免出口流量费,对”可能要恢复”的场景很友好
必须先做的一件事:加密
把明文数据传到别人的服务器上是不可接受的。 即便服务商声称加密,那也是”传输和存储加密”,服务商自己仍能读到你的数据。
rclone 的 crypt 远端在上传前在本地加密,服务商只看到密文。
配置方式:在 rclone config 里新建一个类型为 crypt 的远端,指向你已配置好的对象存储远端,并设置密码(和可选的 salt)。
# 用法示例:把本地目录同步到加密远端
rclone sync /volume1/important mycrypt:backup/important
关键警告:
- 密码和配置文件必须另外备份。丢了密码,云端的数据就是永久的乱码
- 建议把
rclone.conf和密码存到密码管理器,并打印一份纸质备份 - crypt 加密后文件名也会被加密,云端看到的目录结构是一串乱码——这是正常现象,不是出错
常用命令
# 同步(会让目标与源一致,目标端多余的文件会被删除!)
rclone sync /volume1/photos mycrypt:backup/photos
# 复制(只增不改不删,更安全)
rclone copy /volume1/photos mycrypt:backup/photos
# 校验(对比源和目标,报告差异)
rclone check /volume1/photos mycrypt:backup/photos
# 限速与并发控制
rclone copy /data mycrypt:backup
--bwlimit 10M
--transfers 4
--checkers 8
# 先演练再执行(强烈推荐)
rclone sync /data mycrypt:backup --dry-run
sync 和 copy 的选择要慎重。 sync 会让目标端与源端完全一致——如果源端误删了文件,同步后云端那份也被删了。对备份场景,copy 更安全,或者用 sync 配合 --backup-dir 把被删的文件移到指定目录而不是直接删除。
--dry-run 是救命参数。 每次写新的同步命令,先加这个参数跑一遍,看看它会做什么,确认无误再去掉。
定时任务
配置 cron 定期执行:
# 每天凌晨 3 点同步
0 3 * * * /usr/bin/rclone copy /volume1/important mycrypt:backup/important --log-file=/var/log/rclone.log
注意日志。没有日志的定时备份,出错了你永远不知道。建议配置日志,并在失败时发送通知(rclone 支持 --use-json-log,也可以自己写脚本检查退出码)。
成本估算
对象存储的成本由三部分组成:存储费 + 请求次数费 + 流量费。
以常见的国内对象存储为例(价格随时间和促销活动变动,以下仅为量级参考,实际请以服务商官网为准):
| 数据量 | 标准存储(月) | 低频/归档存储(月) |
|---|---|---|
| 100GB | 约 10–15 元 | 约 5–8 元 |
| 500GB | 约 50–75 元 | 约 25–40 元 |
| 1TB | 约 100–150 元 | 约 50–80 元 |
| 5TB | 约 500–750 元 | 约 250–400 元 |
省钱的两个关键:
1. 用低频访问或归档存储类型。备份数据几乎不会被读取,用标准存储是浪费。注意归档类型通常有最短存储期限和取回延迟 2. 只备份真正重要的。全盘备份不划算——影音库、下载内容这类”丢了能重新获取”的数据不值得上云
推荐做法:先梳理数据,把真正不可再生的(照片、文档、代码、配置)挑出来,这部分通常只占总量的 10–20%,备份成本就降了一个数量级。
恢复演练:最容易被跳过的一步
没做过恢复演练的备份,不算备份。
这不是吓唬人。备份流程里可能出现的问题很多:配置写错路径、加密密码记错、权限问题、文件损坏。这些问题在备份时不会报错,只有在恢复时才暴露。
演练方法(每季度一次):
1. 从云端恢复一个随机的小目录到本地临时位置 2. 检查文件数量是否一致 3. 打开几个文件确认内容正常 4. 用 rclone check 做一次完整校验 5. 清理临时文件
rclone check /volume1/photos mycrypt:backup/photos
校验是 rclone 的一个优势:它能对比源和目标的哈希,告诉你哪些文件不一致。定期跑一次(哪怕半年一次),能让你对备份的完整性有实感。
完整策略建议
一个结合本地和云端的方案:
| 层级 | 方式 | 频率 | 防什么 |
|---|---|---|---|
| 第一层 | RAID / 存储池冗余 | 持续 | 单盘故障 |
| 第二层 | 本地快照 | 每小时/每天 | 误删、勒索软件 |
| 第三层 | 外接硬盘轮换 | 每周 | 本地大规模故障 |
| 第四层 | rclone 云端加密备份 | 每天/每周 | 火灾、盗窃、整站损毁 |
前三层都不是异地,第四层才是。 而且第四层因为有加密,即便服务商不可信也不影响数据安全。
最后提醒
不要把云端备份当成主存储。 对象存储的定位是”最后一道防线”,它的访问延迟、成本结构、可用性模型都不是为日常访问设计的。日常用 NAS,只在出事时才从云端拉数据。
备份的黄金法则:备份的价值不在于你做了多少份,而在于你确认能恢复多少。定期演练,比多买一份存储有用得多。
