rclone 备份到对象存储:异地容灾的第二块拼图
本地备份+异地备份还不够?小够教你用 rclone 把备份同步到对象存储(S3 兼容),多一份云端副本,容灾才算闭环,配置一次长期省心。
我是小够。前面讲过 321 备份原则:3 份数据、2 种介质、1 份异地。很多人做到"异地"就停了——比如用 rsync 同步到另一台 VPS。但小够要提醒一句:如果两台机器在同一个商家、同一个机房,严格说还不算真正的异地。对象存储(S3 兼容)是补上这块拼图的便宜办法。
rclone 是什么
rclone 是个命令行工具,号称"云存储界的 rsync",支持几十种后端:AWS S3、各类 S3 兼容存储、Google Drive 等等。一条命令就能在本地和云端之间同步文件,特别适合传备份包。
安装很简单,官方提供一键安装脚本(截至撰写时),或者用包管理器:
# Debian/Ubuntu
sudo apt install rclone
配置 remote
rclone config
按交互提示走:新建 remote → 选存储类型(S3 兼容选 s3)→ 填 endpoint、access key、secret key。密钥从对象存储控制台申请,只给这个 bucket 的读写权限,别用主账号密钥,这是基本的安全习惯。
配好后先列一下 bucket 确认连通:
rclone lsd mybackup:
同步备份上去
假设你的备份脚本每天凌晨生成 /backup/site-2025-08-02.tar.gz,同步命令:
rclone sync /backup/ mybackup:vps-backup/ --exclude "*.tmp"
注意 sync 是双向对齐:目标端多余的文件会被删。备份场景小够更推荐 copy,只增不删,误删了本地还能从云端找回来:
rclone copy /backup/ mybackup:vps-backup/
加一层加密
备份里可能有数据库、用户数据,直接放云端小够不放心。rclone 自带 crypt remote,给数据加一层加密,云端看到的全是密文:
rclone config # 新建一个类型为 crypt 的 remote,底层指向 mybackup:
rclone copy /backup/ mycrypt:vps-backup/
密码自己记好,丢了谁也解不开——包括你自己。
自动化
把命令追加到备份脚本末尾,或者单独加一条 cron(凌晨备份完成后半小时执行)。再配个简单的成功/失败通知,云端同步失败了你得知道。
小够的建议
- 对象存储按量计费,备份包先压缩再上传,省流量也省钱
- 保留策略同样适用:云端 bucket 开生命周期规则,自动删 90 天前的旧备份
- 定期做一次恢复演练:从云端拉一个包下来解压,确认能用。备份没验证过等于没备份
本地一份、另一台机器一份、对象存储一份——三份数据、两种介质、真正异地,321 闭环了。成本?对象存储存几个 GB 的备份,一个月通常就几块钱,够用的很。
常用命令速查
rclone 的子命令和 rsync 很像,记住这几个就够:
rclone copy /backup/ mybackup:vps-backup/ # 只增不删,最常用
rclone sync /backup/ mybackup:vps-backup/ # 双向对齐,目标端多余文件会被删
rclone move /backup/ mybackup:vps-backup/ # 传完删本地,适合中转
rclone check /backup/ mybackup:vps-backup/ # 对比两边是否一致
rclone ls mybackup:vps-backup/ # 看云端有什么
rclone delete mybackup:vps-backup/old/ # 删云端目录
copy 和 sync 的区别再强调一遍:备份场景用 copy,sync 的删除行为在误删时是灾难。
带宽限速:别把业务带宽打满
备份同步通常在凌晨跑,但如果白天要传大包,限个速:
rclone copy /backup/ mybackup:vps-backup/ --bwlimit 10M
10M 指 10MB/s,根据你的上行带宽调。备份是后台活,别跟业务抢带宽。
进阶:rclone 挂载
对象存储还能直接挂载成目录用:
rclone mount mybackup:vps-backup/ /mnt/backup --daemon
这样就能像本地目录一样翻历史备份。不过挂载的性能一般,适合"偶尔找个文件",不适合当主力访问方式。
多个 remote:鸡蛋多放几个篮子
rclone 配置多个 remote 不冲突:
rclone copy /backup/ backup-a:vps/ # 存储A
rclone copy /backup/ backup-b:vps/ # 存储B
重要数据可以同时推两家对象存储,配置文件里 remote 相互独立,一个挂了不影响另一个。
常见问题
Q:rclone 和 rsync 到底什么关系? A:rsync 管"机器之间",rclone 管"机器和云存储之间"。备份服务器之间同步用 rsync,同步到对象存储用 rclone,分工明确。
Q:传大文件断了怎么办? A:rclone 支持断点续传,重跑同一条命令就行。它会自动跳过已传完的部分,不用从头来。
Q:对象存储选哪家? A:看三点:S3 兼容(rclone 通吃)、价格(按量计费,备份场景都很便宜)、离你近(传得快)。具体哪家不点名,你按这三点自己比,够用的就行。