1、概述
- Rclone 是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。
- 官网网址:https://rclone.org/
- Github 项目:https://github.com/ncw/rclone
- 最近有一个不幸的消息是:Amazon 禁止了 rclone 在他家存储上使用,好忧伤。
- 新闻地址:https://forum.rclone.org/t/rclone-has-been-banned-from-amazon-drive/2314
- 新闻地址:https://www.lowendtalk.com/discussion/115117/rclone-banned-from-amazon-drive
- 支持的主流对象存储有:
Google Drive
Amazon S3
Openstack Swift / Rackspace cloud files / Memset Memstore
Dropbox
Google Cloud Storage
Amazon Drive
Microsoft One Drive
Hubic
Backblaze B2
Yandex Disk
The local filesystem
2、安装
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
chmod 0755 ./rclone-*/rclone
cp ./rclone-*/rclone /usr/bin/
rm -rf ./rclone-*
或
curl -O http://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
cp rclone /usr/sbin/
chown root:root /usr/sbin/rclone
chmod 0755 /usr/sbin/rclone
3、配置(重点)
首先输入命令:rclone config(如果源数据和目的数据都是通过远程访问,则需要配置两次)
步骤解释
- 第一步:配置 config rclone
- 第二部:选择新建 n # 新建配置
- 第三步:起名字,这个随意填写,例如 MJJ
- 第四步:选择存储类型,实例中选择的是 7
1 亚马逊云盘
2 亚马逊 S3
3 BackBlaze B2,这个后面也会写文章介绍
4 Dropbox
5 不是很懂是啥
6 谷歌云存储(不是谷歌云盘)
7 谷歌云盘 Google Drive
8 Hubic,OVH 旗下存储服务,有介绍过, 免费最高 55G https://liyuans.com/archives/hubic.html
9 本地硬盘
10 微软 Onedrive(注意只支持个人版,不支持商业版、教育版)
11 Openstack Swift,不了解
12 SSH 连接,也就是说支持 VPS 同步!
13 Yandex 网盘,俄罗斯的,有 10G 大小免费额度
- 第五步:谷歌应用 ID,留空
- 第六步:谷歌应用密钥,留空
- 第七步:自动配置,选择手动
- 第八步:复制链接到浏览器,登录谷歌,获取验证码
- 第九步:填写验证码
- 第十步:确认配置
- 第十一步:退出配置
4、简单操作
谷歌云盘对拷
- 可以实现两个 Google Drive 之间对拷备份文件,不占用硬盘。毕竟大家的 gdrive 来源都是你懂得,担心不稳,可以多个 google drive 多存几份。在新建好 rclone 的配置文件后,使用以下命令即可:
rclone copy gdrive1: gdrive2:
本地数据备份
自己 VPS 上的网站数据想备份到其他 VPS 或者网盘内,其实也很简单。在建立好 rclone 的配置文件后,使用以下命令即可:
rclone sync /本地绝对路径 dest:path
小技巧
复用
- rclone 配置文件存储位置
~/.config/rclone/rclone.conf
,可以保存里面的内容,在新电脑上直接用这个配置文件即可
5、详细使用
操作命令
- rclone 命令的语法格式:
Syntax: [options] subcommand <parameters> <parameters...>
- 常用的 rclone 命令有:
rclone config - 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。
rclone copy - 将文件从源复制到目的地址,跳过已复制完成的。
rclone sync - 将源数据同步到目的地址,只更新目的地址的数据。
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 config
- 开启一个交互式的配置会话。命令格式如下:
rclone config
rclone copy
- 将文件从源复制到目的地址,跳过已复制完成的。命令格式如下:
rclone copy source:sourcepath dest:destpsth
- 说明:
rclone copy 复制总是指定路径下的数据;而不是当前目录。
–no-traverse 标志用于控制是否列出目的地址目录。
rclone sync
rclone sync source:path dest:path
- 说明:
同步数据时,可能会删除目的地址的数据;建议先使用–dry-run 标志来检查要复制、删除的数据。
同步数据出错时,不会删除任何目的地址的数据。
rclone sync 同步的始终是 path 目录下的数据,而不是 path 目录。(空目录将不会被同步)
rclone move
rclone move source:path dest:path
- 说明:
同步数据时,可能会删除目的地址的数据;建议先使用–dry-run 标志来检查要复制、删除的数据。
rclone purge
- 清空 path 目录和数据。命令格式如下:
rclone purge remote:path
- 说明:
此命令,include/exclude 过滤器失效。
删除 path 目录下部分数据,请使用 rclone delete 命令
rclone mkdir
- 创建 path 目录。命令格式如下:
rclone mkdir remote:path
rclone rmdir
- 删除一个空目录。命令格式如下:
rclone rmdir remote:path
- 说明:
不能删除非空的目录,删除非空目录请使用 rclone purge。
rclone check
- 检查源和目标地址文件是否匹配。命令格式如下:
rclone check source:path dest:path
- 说明:
–size-only 标志用于指定,只比较大小,不比较 MD5SUMs。
rclone ls
- 列出指定 path 下,所有的文件以及文件大小和路径。命令格式如下:
rclone ls remote:path
rclone lsd
- 列出指定 path 下,所有目录、容器、桶。命令格式如下:
rclone lsd remote:path
rclone delete
- 删除指定目录的内容。命令格式如下:
rclone delete remote:path
- 说明:
不同于 rclone purge,rclone delete 可使用 include/exclude 过滤器选择删除文件内容。
一些例子:
- 删除文件大小大于 100M 的文件
# 先检查哪些文件将被删除
rclone --min-size 100M lsl remote:path # 使用rclone lsl 列出大于100M的文件
rclone --dry-run --min-size 100M delete remote:path # 使用--dry-run 检查将要被删除的文件
# 使用 rclone delete 进行文件删除
rclone --min-size 100M delete remote:path
rclone size
- 获取指定 path 下所有数据文件的总大小。命令格式如下:
rclone size remote:path