rclone是命令行工具,用于本地与云存储(Google Drive、S3、OneDrive 等)之间的数据同步和迁移,支持 40+ 存储服务。
基础概念
- Remote(远程存储):配置好的云存储,如
gdrive:、s3: - 语法:
rclone [选项] 命令 源路径 目标路径
配置远程存储
rclone config配置流程详解
交互配置界面操作步骤:
- 输入
n新建 remote - 输入 remote 名称(如
gdrive、s3、onedrive) - 选择存储类型编号(输入数字或名称)
- 按提示填写认证参数
- 确认配置(
y确认,e编辑,d删除) - 输入
q退出配置菜单
常见存储类型配置示例
Google Drive
Storage> drive # 选择 Google Drive
client_id> # 留空使用默认,或填自定义 OAuth ID
client_secret> # 留空使用默认,或填自定义 OAuth Secret
scope> 1 # 选择权限范围:
# 1 = Files only (推荐)
# 2 = Files and folders read-only
# 3 = Files and folders read/write
root_folder_id> # 留空,或指定特定文件夹 ID
service_account_file> # 留空,普通用户无需
advanced_settings> n # 通常跳过高级设置
use_auto_config> y # 自动配置授权授权流程:终端显示链接 → 打开浏览器登录 Google → 获取验证码 → 输入到终端
AWS S3
Storage> s3
provider> 1 # 选择 AWS 或其他兼容服务:
# 1 = AWS
# 2 = Ceph
# 3 = Minio
# 4 = 其他
env_auth> true # 从环境变量读取凭证(推荐)
# AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
access_key_id> # 若 env_auth=false,直接输入
secret_access_key> # 若 env_auth=false,直接输入
region> 1 # 选择区域或输入区域代码
# 如 us-east-1, ap-northeast-1
endpoint> # AWS 留空,其他服务填写地址
acl> private # 对象访问权限
advanced_settings> n # 跳过高级设置OneDrive
Storage> onedrive
client_id> # 留空使用默认
client_secret> # 留空使用默认
region> global # 选择区域:global 或 cn(中国版)
advanced_settings> n
use_auto_config> y # 自动授权
drive_type> personal # 选择类型:
# personal = 个人版
# business = 企业版配置文件管理
配置文件位置:
| 系统 | 路径 |
|---|---|
| Linux/macOS | ~/.config/rclone/rclone.conf |
| Windows | %APPDATA%\rclone\rclone.conf |
配置文件结构:
[gdrive]
type = drive
scope = drive
token = {"access_token":"xxx","refresh_token":"xxx","expiry":"2025-01-01T00:00:00Z"}
[s3-backup]
type = s3
provider = AWS
env_auth = true
region = us-west-2
acl = private使用自定义配置文件:
rclone --config /path/to/config.conf lsd remote:path环境变量覆盖:
# 指定配置文件路径
export RCLONE_CONFIG=/custom/path/rclone.conf
# 直接传递凭证(敏感信息)
export RCLONE_CONFIG_GDRIVE_TOKEN=xxx高级配置选项
加密配置文件:
# 配置加密密码
rclone config
# 选择 remote → 输入 password 参数
# 或使用命令行
rclone obscure mypassword # 生成加密后的密码字符串将加密后的字符串写入配置文件的 password 字段。
服务账号配置(适用于企业/自动化场景):
# Google Drive 服务账号
service_account_file = /path/to/service-account.json
# AWS IAM 角色(EC2 上运行)
env_auth = true # 自动获取实例附加的角色凭证配置维护命令
# 列出所有 remote
rclone listremotes
# 查看 remote 详细配置
rclone config show gdrive
# 更新配置(交互式)
rclone config update gdrive
# 删除 remote
rclone config delete old-remote
# 编辑配置文件
rclone config edit配置问题排查
重新授权:
# token 过期时重新获取
rclone config reconnect gdrive:配置文件权限:
# 配置文件包含敏感凭证,应限制权限
chmod 600 ~/.config/rclone/rclone.conf测试配置:
# 验证配置是否正常
rclone lsd remote: # 列出远程目录
rclone about remote: # 查看存储空间信息核心命令
复制文件
# 本地 → 远程
rclone copy /local mygdrive:backup
# 远程 → 本地
rclone copy mygdrive:photos ./local
# 远程 → 远程
rclone copy gdrive:data s3:backup常用选项:-P(进度条)、-v(详细日志)、--ignore-existing(跳过已存在)
同步文件
rclone sync /data mygdrive:backup -P注意:sync 会使目标与源完全一致,会删除目标多余文件。
移动文件
rclone move mygdrive:temp ./local_temp -P列出文件
rclone ls mygdrive:docs # 列出文件(含大小)
rclone lsd mygdrive:docs # 仅列出目录检查差异
rclone check /local mygdrive:backup删除文件
rclone delete mygdrive:old_files # 删除文件,保留目录
rclone purge mygdrive:folder # 彻底删除其他命令
rclone mkdir mygdrive:new_folder # 创建目录
rclone about mygdrive: # 查看空间信息全局选项
| 选项 | 作用 |
|---|---|
-P | 显示进度 |
-n | 模拟操作(不实际执行) |
--bwlimit 1M | 限制速度 |
--transfers 8 | 并发传输数 |
--exclude "*.log" | 排除文件 |
--include "*.txt" | 包含文件 |
示例场景
备份到云存储:
rclone sync -P /home/photos myonedrive:backup/photos限速下载:
rclone copy -P --bwlimit 5M mys3:large_files ./downloads模拟同步:
rclone sync -n /local mygdrive:data # 先模拟确认