原文地址 https://www.moewah.com/archives/876.html
介绍
Rclone 是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。
- 官网网址:https://rclone.org
- Github 项目:https://github.com/ncw/rclone
支持的主流对象存储有:
Google Drive
Amazon S3 #消息称Amazon单方面禁止了 rclone 在他家存储上使用。
Openstack Swift / Rackspace cloud files / Memset Memstore
Dropbox
Google Cloud Storage
Amazon Drive
Microsoft One Drive
Hubic
Backblaze B2
Yandex Disk
The local filesystem
Rclone 更完整的云存储支持列表 -> 查看完整列表
安装
安装 EPEL 源:
yum -y install epel-release
安装一些基本组件和依赖:
yum -y install wget unzip screen fuse fuse-devel
下载 Rclone (amd64) 解压然后进入目录(方法 1):
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-*
下载 Rclone (amd64) 解压然后进入目录(方法 2):
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
运行 Rclone 开始配置:
./rclone config
第一步选择 n
,然后回车输入一个 name
,建议这个 name
设置的简单好记一点,如图所示:
然后选择我们要挂载的类型,这里选择 11
(当然要看最新的版本,所以要好好看哈),切记要选对了:
接着 client_id
、client_secret
、service_account_file
都留空直接回车,看到提示权限的时候选择第一个: Full access all files, Excluding Application Data Folder 就可以了
Use auto config? 这里我们选择 n
,如图所示:
现在 rclone 会在终端内给我们回显一个 GoogleDrive 的授权登录地址,如图所示:
我们复制这个地址然后用本地电脑的浏览器打开并登录(需翻墙),然后点击允许按钮,接着复制如下图所示的授权代码,回到终端内粘贴授权代码然后回车,继续按如下图操作,依次输入 n
、y
、q
全部完成后,现在新建一个你要挂载的目录:
mkdir -p /home/gdrive
用 screen
创建一个新的会话:
screen -S rclone
执行如下命令:
./rclone mount guge: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes
_上面的MARKDOWN_HASH275c7495943d2c02435c5063d0601de2MARKDOWNHASH
指的是你自己设定的名称
不出意外的话,就挂载成功了!重启后自动挂载可以看如下操作
先把rclone
的可执行文件复制到/usr/bin
:
cp /root/rclone-v1.42-linux-amd64/rclone /usr/bin/rclone
新建一个 rclone.service 文件:
vi /usr/lib/systemd/system/rclone.service
写入:
[Unit]
Description=rclone
[Service]
User=root
ExecStart=/usr/bin/rclone mount guge: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes
Restart=on-abort
[Install]
WantedBy=multi-user.target
重载daemon
,让新的服务文件生效:
systemctl daemon-reload
现在就可以用systemctl
来启动rclone
了:
systemctl start rclone
设置开机启动:
systemctl enable rclone
停止、查看状态可以用:
systemctl stop rclone
systemctl status rclone
重启你的VPS
,然后查看一下rclone
的服务起来没,接着查看一下盘子挂上去没:
reboot
systemctl status rclone
df -h
操作命令
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
更多 rclone 命令,详见 http://rclone.org/commands 。
Comments | NOTHING