Rclone 多云存储管理
一句话概述:Rclone 是命令行云存储管理工具,支持 70+ 种云存储(S3/Google Drive/OneDrive/阿里云盘等),像操作本地文件一样操作云端。
核心知识点
| 概念 | 白话解释 |
|---|
| Rclone | 云存储瑞士军刀 = 命令行管理所有云盘 |
| Remote | 远端 = 配置好的云存储连接 |
| Sync | 同步 = 让目标和源保持一致 |
| Copy | 复制 = 把文件从一处复制到另一处 |
| Mount | 挂载 = 把云存储挂载为本地磁盘 |
安装配置
# Linux
curl https://rclone.org/install.sh | sudo bash # 官方脚本安装
# 或
sudo apt install rclone # APT 安装
# macOS
brew install rclone # Homebrew
# 验证
rclone version # 查看版本
# 配置远端
rclone config # 交互式配置向导
# 选择 n (new remote) → 输入名称 → 选择存储类型 → 按提示填写
常用命令
# 列出远端
rclone listremotes # 列出已配置的远端
# 列出文件
rclone ls myremote:bucket/path # 列出文件(含大小)
rclone lsd myremote:bucket/ # 只列目录
rclone lsf myremote:bucket/path # 简洁列表
# 复制文件
rclone copy /local/data myremote:bucket/data # 本地 → 云端
rclone copy myremote:bucket/data /local/data # 云端 → 本地
rclone copy remote1:path remote2:path # 云端 → 云端
# 同步(让目标=源,会删除目标中多余的文件)
rclone sync /local/data myremote:bucket/data # ⚠️ 会删除目标多余文件
rclone sync /local/data myremote:bucket/data --dry-run # 先预览不执行
# 移动文件
rclone move /local/data myremote:bucket/data # 移动(源文件删除)
# 删除
rclone delete myremote:bucket/old-data # 删除文件
rclone purge myremote:bucket/old-folder # 删除目录及内容
# 挂载为本地目录
rclone mount myremote:bucket /mnt/cloud --daemon # 后台挂载
fusermount -u /mnt/cloud # 卸载
实用场景
# 备份项目到 S3
rclone sync /home/pweaz/t2d_ai_project \
s3remote:my-bucket/t2d-backup \ # 同步到 S3
--exclude ".git/**" \ # 排除 .git
--exclude "__pycache__/**" \ # 排除缓存
--exclude "*.pyc" \ # 排除编译文件
-P # 显示进度
# 云端间迁移数据
rclone copy googledrive:研究数据 onedrive:研究数据备份 -P # GDrive → OneDrive
# 加密备份
rclone config # 创建 crypt 远端
# 类型选 crypt → 指定底层远端 → 设置密码
rclone sync /data encrypted-remote:backup # 加密同步
常见报错
| 报错 | 原因 | 解决 |
|---|
Failed to create file system | 远端配置错误 | rclone config 重新配置 |
AccessDenied | 权限不足 | 检查 API Key 和权限设置 |
quota exceeded | 云存储空间满了 | 清理空间或升级套餐 |
rate limit exceeded | API 调用频率限制 | 加 --tpslimit 10 限速 |
mount: fuse not found | 缺少 FUSE | sudo apt install fuse3 |
速查表
# 核心命令
rclone config # 配置远端
rclone ls/lsd/lsf <remote:path> # 列出文件/目录
rclone copy <src> <dst> # 复制
rclone sync <src> <dst> # 同步(⚠️会删目标多余文件)
rclone move <src> <dst> # 移动
rclone mount <remote:path> <local> # 挂载
rclone check <src> <dst> # 检查差异
# 常用选项
# -P / --progress 显示进度
# --dry-run 预览不执行
# --exclude "*.tmp" 排除文件
# --transfers 4 并行传输数
# --tpslimit 10 API 限速
# --bwlimit 10M 带宽限制
# -v / --verbose 详细输出
# 支持的存储(70+种)
# S3 / Google Drive / OneDrive / Dropbox
# SFTP / FTP / WebDAV
# 阿里云 OSS / 腾讯 COS / 华为 OBS
# Backblaze B2 / Cloudflare R2