Rclone 简介
Rclone 是一款命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。采用 Go 语 言开发。支持本地与云存储间双向数据复制/同步,也支持不同云存储间的数据复制/同步。 常用功能
- COPY 文件复制,支持仅复制新的/修改的文件
- CHECK 检查文件的哈希值
- SYNC 文件同步 (单一方向,目前不支持双向)
- Serve 可以通过 HTTP/WebDav/FTP/SFTP/dlna 为本地或者远端文件提供服务
- 多线程下载到本地磁盘
- Chunk,将本地文件拆分后上传云端
- MD5/SHA1 哈希值检查保证文件完整性
- 保留文件时间戳
- Encryption 支持后端加密
- Cache 支持后端缓存
- 支持后端联合
- 可选的 FUSE 挂载
- 图形界面(试验性)
安装及配置
系统要求:
下载安装:
Linux :curl https://rclone.org/install.sh | sudo bash
Windows:https://rclone.org/downloads/ 下载解压完成之后打开 CMD 使用即可
- 运行 rclone config 并输入 n 新建配置文件并输入名称
- 输入存储的类型 s3
- 输入 AWS
- 选择 False 输入凭证
- 输入凭证和区域
- 输入 endpoint
- 指定位置约束
- 选择 ACL 建议 private
- 选择加密方式,此次选择不加密。根据需求来决定是否加密
- KMS 选择,因为上层选择了不加密所以默认即可
- 选择存储级别,默认即可
- 高级配置选择 n 即可
- 按照以上步骤可继续添加其他云存储 以下是主流公有云的终端节点列表
AWS:
s3(宁夏):
s3.cn-northwest-1.amazonaws.com.cn
s3(北京):
s3.cn-north-1.amazonaws.com.cn
更多节点:
https://docs.aws.amazon.com/zh_cn/general/latest/gr/s3.html
阿里云
https://help.aliyun.com/document_detail/31837.html
华为云
https://developer.huaweicloud.com/endpoint
腾讯云
https://cloud.tencent.com/document/product/436/6224
开始迁移
Rclone 语法说明
- 本地到云
rclone [功能选项] <本地路径> <云存储名称:路径> [参数]
- 云到云
rclone [功能选项] <云存储名称:路径> <云存储名称:路径> [参数]
3. 常用的命令汇总
rclone copy - 复制
rclone move - 移动,如果要在移动后删除空源目录,请加上 --delete-empty-src-dirs 参数
rclone sync - 同步:将源目录同步到目标目录,只更改目标目录。
rclone size - 查看网盘文件占用大小。
rclone delete - 删除路径下的文件内容。
rclone purge - 删除路径及其所有文件内容。
rclone mkdir - 创建目录。 (rclone mkdir RemoteName:newbucket)
rclone rmdir - 删除目录。
rclone rmdirs - 删除指定环境下的空目录。如果加上 --leave-root 参数,则不会删除根目录。
rclone md5sum -为所有文件生成 MD5 值
rclone ncdu 一个简易文本形式的文件浏览器,用于存储桶中的文件浏览、文件和文件夹删除 等操作
rclone check 进行数据对比校验
4. 高级操作
4.1 过滤 --exclude - 排除文件或目录。 --include - 包含文件或目录。 --filter - 文件过滤规则,相当于上面两个选项的其它使用方式。包含规则以 + 开头, 排除规则以 - 开头
4.2 用法演示
4.2.1 过滤文件
--exclude "*.bak"、--filter "- .bak" 剔除所有的.bak 结尾的文件
--include ".{png,jpg}"、--filter "+ *.{png,jpg}",包含所有 png 和 jpg 文件,排除其
他文件。
4.2.2 过滤目录
--exclude "/.git/" 只排除根目录下的.git 目录。
--exclude "/{Video,Software}/" 只排除根目录下的 Video 和 Software 目录。
--include "/{Video,Software}/**" 仅包含根目录下的 Video 和 Software 目录的所 有内容
4.2.3 文件大小过滤 默认单位为 kBytes 但可以使用 M G 为单位
--min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件
--max-size 过滤大于指定大小的文件。比如 --max-size 1G 表示不会传输大于 1G 的文件
4.2.4 输出优化
小文件优传输优化
--transfers int Number of file transfers to run in parallel. (default 4)
--checkers int Number of checkers to run in parallel. (default 8)
增加—transfers / –checkers,会显著改善小文件的传输速度。可根据网络情况等比 例增加到 16, 32 或 64,到一定限度后增加参数数量不会有速度改善。具体数值和 网络延迟相关
rclone copy -P -vv --transfers 32 --checkers 32 ali-oss:/test202003 aws-zhy:/test01
参考资料
Rclone 官方文档 [1] https://rclone.org/docs/