Rclone 实战指南:命令行文件同步与管理利器,一条命令打通云端存储
做运维和自部署的兄弟应该都遇到过这个场景:服…
做运维和自部署的兄弟应该都遇到过这个场景:服务器上有一批数据要传到对象存储做备份,或者要从不同云平台之间迁移文件。以前我习惯用 rsync + s3cmd 硬扛,直到被 Rclone 彻底圈粉——这货是真的省心。
Rclone 为什么值得装?
一句话:Rclone 是「命令行版的云盘万能遥控器」。它支持的存储后端超过 40 种——阿里云 OSS、腾讯云 COS、AWS S3、Google Drive、OneDrive、SFTP、WebDAV,甚至可以把本地目录当远程挂载。而且它是 Go 写的单二进制,扔到服务器上就能跑,零依赖。
三分钟上手
安装就一条命令:
curl -sSL https://rclone.org/install.sh | bash
配置远端存储用交互模式:
rclone config
跟着提示选存储类型、填密钥就行。配好之后,把它当 rsync 的升级版用:
# 本地同步到阿里云 OSS
rclone sync /data/backup aliyun:my-bucket --progress
# 两个云平台之间直接对拷
rclone copy s3:source-bucket/file.tar.gz onedrive:backup/ --progress
# 挂载为本地磁盘(类似 sshfs)
rclone mount aliyun:my-bucket /mnt/cloud --daemon
我常用的几个实战场景
1. 数据库自动备份到对象存储
Crontab 里加一条:
0 3 * * * mysqldump -u root --all-databases | gzip > /tmp/db.sql.gz && \
rclone copy /tmp/db.sql.gz aliyun:db-backup/$(date +\%Y-\%m-\%d).sql.gz --progress
2. 跨机房文件迁移,带断点续传
超大规模文件用 rclone copy 配合 --checksum 参数,只传变更部分,网络断了重跑会自动续传,不会重新来过:
rclone copy /data/large-dataset sftp://backup-host:/storage/ \
--checksum --transfers=8 --ignore-existing --progress
3. 用筛选器精准同步
只同步特定类型的文件,排除日志和缓存:
rclone sync /var/www aliyun:web-backup \
--include "*.{jpg,png,zip,tar.gz}" \
--exclude "*.log" --exclude "cache/**" \
--progress
几点避坑经验
- 大文件传输加
--verbose:默认静默模式,卡住了都不知道,加-v或--progress能看到实时状态。 - 千万不要在挂载目录上跑数据库:rclone mount 走 FUSE,延迟和稳定性远不如本地文件系统,数据库放上面早晚出问题。
- 限速参数很有用:
--bwlimit 10M限制带宽,避免把办公室出口跑满被同事骂。 - 先跑
--dry-run:同步前加这个参数预览要改的文件,确定无误再去掉,这个习惯能救命。
小结
Rclone 是那种「装一次,天天用」的工具。不管你是做网站备份、云迁移、还是单纯想在不同存储之间倒腾文件,它都能帮你省下大把时间。唯一要提醒的是——配置好之后记得先跑 rclone copy --dry-run 验一遍,翻车的概率基本为零。
你有哪些 Rclone 的骚操作?欢迎留言交流。
