rclone 云盘同步工具的正确打开方式

Rclone 是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。

官网网址:https://rclone.org/

Github 项目:https://github.com/ncw/rclone

安装rclone

下载源码安装

wget --no-check-certificate 'https://downloads.rclone.org/v1.52.3/rclone-v1.52.3-linux-amd64.zip'
unzip rclone-v1.52.3-linux-amd64.zip
cp ./rclone-*/rclone /usr/local/bin
rm -rf ./rclone-*

使用官网推荐脚本安装

curl https://rclone.org/install.sh | bash

配置rclone

在Linux或者Mac上完成安装之后,rclone会默认从配置文件~/.config/rclone/rclone.conf中获取rclone的配置。我们既可以通过rclone config命令来交互式修改这个配置,也可以直接编辑这个配置文件。

AWS S3的rclone的配置

[s3-overseas]
type = s3
provider = AWS
env_auth = false
access_key_id = <your-aws-access-key-id>
secret_access_key = <your-aws-secret-access-key>
region = <your-region-id>
acl = public-read
endpoint = https://s3.<your-region-id>.amazonaws.com

配置参数详解

  • [s3-overseas]: 定义该S3在本地的一个别名,后续执行命令时方便调用
  • type: 指定该配置的类型
  • provider: 存储的提供商,具体可参照官方文档
  • env_auth: 是否从环境变量中读取
  • access_key_id: 有权限操作bucket的 AK
  • secret_access_key: 有权限操作bucket的 SK
  • region: bucket所处的地区
  • acl: 上传的文件的权限
  • endpoint: bucket的加速地址 点击查看AWS加速节点

如果 env_auth 配置为 true , 可以避免在rclone.conf中写上AWS的key和secret,而是直接使用~/.aws/中的配置

也可以在运行rclone时,通过指定环境变量AWS_PROFILE=<your_profile_name>来使用某一个profile

Ali OSS的rclone配置

[oss-hwpf]
type = s3
provider = Alibaba
access_key_id = <your-ali-access-key-id>
secret_access_key = <your-ali-secret-access-key>
endpoint = oss-cn-hongkong.aliyuncs.com
acl = public-read

点击查看阿里云OSS加速节点

使用说明

rclone config - 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。
rclone copy - 将文件从源复制到目的地址,跳过已复制完成的。
rclone sync - 将源数据同步到目的地址,只更新目的地址的数据。   –dry-run标志来检查要复制、删除的数据
rclone move - 将源数据移动到目的地址。
rclone delete - 删除指定路径下的文件内容。
rclone purge - 清空指定路径下所有文件数据。
rclone mkdir - 创建一个新目录。
rclone rmdir - 删除空目录。
rclone check - 检查源和目的地址数据是否匹配。
rclone ls - 列出指定路径下所有的文件以及文件大小和路径。
rclone lsd - 列出指定路径下所有的目录/容器/桶。
rclone lsl - 列出指定路径下所有文件以及修改时间、文件大小和路径。
rclone md5sum - 为指定路径下的所有文件产生一个md5sum文件。
rclone sha1sum - 为指定路径下的所有文件产生一个sha1sum文件。
rclone size - 获取指定路径下,文件内容的总大小。.
rclone version - 查看当前版本。
rclone cleanup - 清空remote。
rclone dedupe - 交互式查找重复文件,进行删除/重命名操作。
rclone mount - 挂载云盘为本地硬盘
fusermount -qzu LocalFolder  - 卸载挂载的云盘

rclone的常用操作

ls

### 显示远端bucket下的文件
rclone ls s3-overseas:bucket-name
OUT:   106622 header.png

### 显示远端bucket下的目录
rclone lsd s3-overseas:bucket-name
OUT:   0 2020-08-27 15:57:08        -1 new

### 以json形式列出bucket下的目录和文件
rclone lsjson s3-overseas:bucket-name
OUT: [
OUT: {"Path":"header.png","Name":"header.png","Size":106622,"MimeType":"image/png","ModTime":"2020-08-27T07:32:29.000000000Z","IsDir":false,"Tier":"STANDARD"},
OUT: {"Path":"new","Name":"new","Size":0,"MimeType":"inode/directory","ModTime":"2020-08-27T16:02:42.413393904+08:00","IsDir":true}
OUT: ]

### 以json形式递归的列出bucket-name下目录和文件
rclone lsjson s3-overseas:bucket-name -R

### 查看存储桶中500B以上的文件列表
rclone --min-size 500B lsl s3-overseas:bucket-name

sync

### 同步本地目录或文件到远端bucket
rclone sync <LOCAL_PATH> s3-overseas:bucket-name/target-path/

### 同步远端bucket目录到本地
rclone sync s3-overseas:bucket-name/target-path/ <LOCAL_PATH>

### 远端同步到远端
# S3直接同步到阿里的OSS
rclone sync s3-overseas:bucket-name oss-hwpf:bucket-name

### 将本地文件同步到远端,并备份被删除或修改的文件到备份存储桶中
rclone sync <LOCAL_PATH> s3-overseas:bucket-name --backup-dir s3-overseas:backup-bucket-name/backup-dir

sync操作,会删除目标端的目录或文件。执行前可以加 --dry-run参数查看将要删除的文件或目录

copy

### 拷贝本地文件到远端
rclone copy <LOCAL_PATH> s3-overseas:bucket-name/target-path/

## 拷贝远端对象到本地
rclone copy s3-overseas:bucket-name/target-path/ <LOCAL_PATH>

rclone copy --max-age 24h --progress --no-traverse <LOCAL_PATH> s3-overseas:bucket-name/target-path/

copy操作,不会删除目标端的任何文件

--max-age 24h: 过滤出来最近24小时变更过的文件

--progress: 显示进度 等同于 -P

--no-traverse: 从源拷贝少量文件到目的中大量目的文件时,速度会更快

mkdir

### 创建新的bucket 需要AKSK有权限
rclone mkdir s3-overseas:new-bucket-name  # 在AWS创建存储桶new-bucket-name

### 创建新目录
rclone mkdir s3-overseas:bucket-name/new-dir

delete

### 删除bucket根目录下的delete.file  如果`--include`不加路径,则递归删除所有该名字文件
rclone delete s3-overseas:bucket-name --include=/delete.file

check

### 对比本地文件和远端文件,默认校验修改时间和大小
rclone check <LOCAL_PATH> s3-overseas:bucket-name/target-path/ --one-way

### 进行数据对比校验
rclone check s3-overseas:bucket-name/target-path/  oss-hwpf:bucket-name/target-path/ -P
posted @ 2020-08-27 18:41  KakuCicada  阅读(6461)  评论(1编辑  收藏  举报