技术笔记

用 rclone 把 NAS 数据备份到云端:配置、加密与恢复演练

yaobingbin yaobingbin · · 约 7 分钟 · 0 条评论

为什么需要云端这一份

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,只在出事时才从云端拉数据。

备份的黄金法则:备份的价值不在于你做了多少份,而在于你确认能恢复多少。定期演练,比多买一份存储有用得多。

微信搜一搜 纳思Note
评论经后台审核通过后显示 · 请勿发布广告、外链或无关内容

发表评论

邮箱地址不会被公开。填写昵称与邮箱后方可评论。