概述

Rclone是一个命令行程序,用于管理云存储上的文件。他打包了各大供应商云存储的接口提供统一的访问界面。rclone支持40多种云存储产品,包括对象存储、企业和消费者文件存储、服务以及标准传输协议。Rclone符合unix POSIX规范,支持于常见的shell工具,比如rsync、cp、 mv、mount、ls、ncdu、tree、rm 和cat等交互,Rclone使用我们耳闻能熟的语法,支持shell管道,支持---dry-run保护,同时为了保护数据的可靠性,Rclone可保留时间戳和始终进行文件验证校验和。Rclone多种文件传输协议,支持SFTP,HTTP,WebDAV,FTP和DLNA。Rclone是一个成熟的开源软件,最初受rsync的启发并采用Golang编写。其文档和社区也都非常好,提供广泛和友好的使用用例。

这里我们使用Rclone主要用来操作对象存储,可以用来上传对象、拉取对象,并可实现对象存储间的迁移。

安装

Rclone 是一个 Go 程序,以单个二进制文件的形式出现。

脚本安装

要在 Linux/macOS/BSD 系统上安装 rclone,请运行(确保能访问到rclone.org这个网址):

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

对于 beta 安装,运行:

curl https://rclone.org/install.sh | sudo bash -s beta

此脚本首先检查安装的 rclone 的版本,如果不需要,将不会重新下载。

从预编译的二进制文件安装 Linux

获取并解包

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

复制二进制文件

sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

运行rclone config设置基本参数,根据命令提示输入即可

rclone config

使用 docker 安装

rclone 为rclone 维护一个docker 映像。这些镜像是由 docker hub 从 rclone 源基于最小的 Alpine linux 镜像自动构建的。

:latest标签将始终指向最新的稳定版本,也可以使用该:beta标签从 master 获取最新版本,还可以使用版本标签,例如:1.49.1:1.49:1

$ docker pull rclone/rclone:latest
latest: Pulling from rclone/rclone
Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
...
$ docker run --rm rclone/rclone:latest version
rclone v1.49.1
- os/arch: linux/amd64
- go version: go1.12.9

启动 rclone Docker 容器时,需要考虑一些命令行选项:

  • 您需要将主机 rclone 配置目录挂载/config/rclone到 Docker 容器中。由于 rclone 在其配置文件中更新令牌,并且更新过程涉及文件重命名,因此您需要挂载整个主机 rclone 配置目录,而不仅仅是单个主机 rclone 配置文件。

  • 您需要将主机数据目录挂载/data到 Docker 容器中。

  • 默认情况下,Docker 容器内的 rclone 二进制文件以 UID=0(root)运行。因此,在运行中创建的所有文件的 UID=0。如果您的配置和数据文件驻留在具有非 root UID:GID 的主机上,您需要在容器启动命令行上传递这些文件。

  • 如果要访问 RC 接口(通过 API 或 Web UI),则需要将 设置--rc-addr:5572以便从容器外部连接到它。

源代码安装

确保您至少安装了Go 1.15。

git clone https://github.com/rclone/rclone.git
cd rclone
go build
# If on macOS and mount is wanted, instead run: make GOTAGS=cmount
./rclone version

使用

配置

首先,需要配置 rclone,由于对象存储系统具有相当复杂的身份验证,因此它们保存在配置文件中,可以通过以下命令进行配置:

rclone config

基本按照命令提示输入信息即可

基本命令

通常语法是这样的

Syntax: [options] subcommand <parameters> <parameters...>

子命令列表

  • rclone config - 进入交互式配置会话。
  • rclone copy - 将文件从源复制到目标,跳过已经复制的。
  • rclone sync - 使源和目标相同,仅修改目标。
  • rclone bisync -两条路径之间的双向同步。
  • rclone move - 将文件从源移动到目标。
  • rclone delete - 删除路径的内容。
  • rclone purge - 删除路径及其所有内容。
  • rclone mkdir - 如果路径不存在,则创建路径。
  • rclone rmdir - 删除路径。
  • rclone rmdirs - 删除路径下的所有空目录。
  • rclone check - 检查源文件和目标文件是否匹配。
  • rclone ls - 列出路径中所有对象的大小和路径。
  • rclone lsd - 列出路径中的所有目录/容器/存储桶。
  • rclone lsl - 列出路径中的所有对象及其大小、修改时间和路径。
  • rclone size - 返回 remote:path 中对象的总大小和数量。
  • rclone version - 显示版本号。
  • rclone copyto - 将文件从源复制到目标,跳过已经复制的。
  • rclone mount - 将远程挂载为挂载点。
  • rclone moveto - 将文件或目录从源移动到目标。

具体使用大家可以看每个命令的链接,这里以rclone copy为例,比如拉取一个对象存储文件:

rclone copy remote:test.jpg /tmp/download

其中remote指的就是在config阶段配置的一个远程对象存储连接,这个命令将会把图片拉取到本地目录,这里注意的是本地必须指向一个目录。

选项配置

Rclone 有许多选项来控制其行为。

带参数的选项可以通过两种方式传递值, --option=value或者--option value。然而,布尔(真/假)选项的行为与其他选项略有不同,将选项 --boolean设置为true并且没有标志将其设置为false。也可以指定--boolean=false或 --boolean=true。请注意,这--boolean false是无效的 - 这被解析为--boolean并且false被解析为 rclone 的额外命令行参数。大家可以打开这个地址来查看所有的选项参数设置。

比如在命令后跟以下参数:

--bwlimit 10M

意味着将上传和下载带宽限制为 10 MiB/s。 注意这是每秒字节数而不是每秒位数。要使用单个限制,请以 KiB/s 为单位指定所需的带宽,或使用后缀 B|K|M|G|T|P。默认是0不限制带宽。上传和下载带宽可以单独指定,如 --bwlimit UP:DOWN,所以

--bwlimit 10M:100k

这意味着将上传带宽限制为 10 MiB/s,将下载带宽限制为 100 KiB/s。任何一个限制都可以“关闭”意味着没有限制,所以只限制您将使用的上传带宽

--bwlimit 10M:off

这会将上传带宽限制为 10 MiB/s,但下载带宽将不受限制。

其他相关追加参数设置大家可以自行查看。

HTTP调用

web界面

Rclone 可以提供基于 Web 的 GUI(图形用户界面),不过目前官方说明目前属于实验阶段,不过目前使用也没有出现什么大问题。基于上面讲的命令,在终端中运行此命令,rclone 将下载并在 Web 浏览器中显示 GUI:

rclone rcd --rc-web-gui

如果您想检查更新,则可以添加--rc-web-gui-update 到命令行。

如果你发现你的 GUI 坏了,你可以通过 add 强制它更新--rc-web-gui-force-update

默认情况下,rclone 将打开您的浏览器。添加--rc-web-gui-no-open-browser 以禁用此功能。

HTTP监听

如果 rclone 使用该--rc标志运行,那么它会启动一个 HTTP 服务器,该服务器可用于使用其 API 远程控制 rclone。

具体使用大家可以查看Remote Control / API页面,里面有具体的说明,可以设置认证信息等,结合web界面展示加上远程调用,可以很方便的实现一些对象存储迁移等高级功能,并且方便的查看执行情况,启动http监听后,通常可以使用的rc命令,都可以通过http的方式进行调用,大家可以自行尝试。

以上就是分享的关于rclone的一些基本用法以及高级使用,欢迎大家共同探讨!

程序之路漫漫,吾将上下而求索

Rclone的介绍和使用相关推荐

  1. sharepoint文件夹本地同步_Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘

    Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘 Rclone (rsync for cloud storage) 是一个命令行程序,用于同步文件和目录,支持常见的 Amaz ...

  2. win10下使用Rclone将OneDrive映射到本地磁盘教程(开机自动挂载)

    win10下使用Rclone将OneDrive映射到本地磁盘教程(开机自动挂载) 下载rclone,winfsp和Git bash Rclone. Winfsp. 和 [Git bash](https ...

  3. 网盘制作:世纪互联版onedrive搭建指南-rclone挂载使用

    世纪互联版onedrive搭建指南 一.世纪互联 配置 二.魔改oneindex 配置 三.搭建rclone 配置 一.世纪互联 世纪互联分为商业版和教育版,商业版需要自己购买.这里不多介绍.(我这里 ...

  4. 如何在 macOS 使用 AList + RCLONE 把网盘挂载到本地

    之前接触最多的可能还是百度网盘,它的免费容量比较大,我们在下载和分享一些文件的时候经常会用到,但是如果文件比较大,加上限速,使用体验并不算太好.其实除了下载文件,我很少使用百度网盘存储文件,影视资源之 ...

  5. Apple开发者账号介绍及证书配置说明。

    一.Apple开发者账号介绍 1.开发者账号共有三种类型:个人级.公司级.企业级.公司和企业都属于"组织"大类,可多人协作.在苹果的开发者平台登录后,可在People界面邀请其他人 ...

  6. 隐私合规:收集SDK部分介绍

    com.meizu.cloud.pushsdk.SystemReceiver 魅族推送服务是由魅族公司为开发者提供的消息推送服务,开发者可以向集成了魅族 push SDK 的客户端实时地推送通知或者消 ...

  7. 博客除草计划(一):使用 Backblaze、Cloudflare 和 rclone 管理博客图片

    有一年多没有更新博客了吧,最近想把博客给拾掇拾掇,打开博客就发现图片加载好慢.我一直使用的是免费资源,比较费精力,托管图片的地方也换了好几个,每种方法有所长,也有所短. 本文搭建图床的方法主要参考这篇 ...

  8. Minio介绍及使用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Minio是什么? 二.使用步骤 1.安装 2.Java API使用 总结 前言 虽然现在我们可以直接使用类似OS ...

  9. 简单介绍互联网领域选择与营销方法

    在我看来,互联网领域的选择是"安家",而营销方法的不同则表现了"定家"的方式多种多样,只有选对了,"家"才得以"安定". ...

最新文章

  1. 经典文章之java 操纵Excel[转]
  2. 网络服务-DNS 域名系统服务
  3. 对时间序列分类的LSTM全卷积网络的见解
  4. 代表Java未来的ZGC深度剖析,牛逼!
  5. 神经网络和反向传播算法——反向传播算法本质上是随机梯度下降,链式求导法则而来的...
  6. 中文分词_中文分词最佳纪录刷新,两大模型分别解决中文分词及词性标注问题...
  7. 前端---JavaScript基础1
  8. 一般控制矩阵转能观标准型
  9. JSON数组分配输出每个li
  10. 阿里计算平台掌门人贾扬清:我对人工智能方向的一点浅见
  11. 解决开ServiceHost时候System.PlatformNotSupportedException: Operation is not supported on this platform.
  12. Android 在button 上添加imageview不显示
  13. win10 把软件窗口背景设置成豆沙绿
  14. 所有安卓手机通刷原生系统
  15. c++ 小游戏 NO 4 eye
  16. 微信自研生产级 Paxos 类库 PhxPaxos 实现原理介绍
  17. Predicting microbial interactions through computational approaches
  18. NRDP要比NSCA更好使用
  19. centos安装ghostscript+PHP扩展imagick
  20. 配置 CentOS 7 man 命令帮助显示简体中文

热门文章

  1. 做实景三维项目后的一些感想
  2. 逆向-360逆向writeup
  3. HCIE面试真题系列17(郝)
  4. DB2性能调整优化问题
  5. HTML5吃豆豆游戏开发实战(三)2d碰撞检测、重构
  6. 计算机激光鼠标,差评终结者:激光鼠标就是比光电的好?
  7. 智慧之战——农民工大战博士后
  8. python爬取视频自动播放_求助该网站如何让它能自动播放下一个视频。。。醉了,要挂80个课时...
  9. 亚马逊kindle设置_在亚马逊Kindle上追逐活跃的社会工程欺诈
  10. android 服务端技术,移动应用服务器端开发(基于JSP技术)-2017 Android系统构架 Android系统构架.docx...