七叶笔记 » golang编程 » 云原生时代的文件同步神器——Rclone

云原生时代的文件同步神器——Rclone

云时代 基础设置越来越依赖于云,云提供了方便可靠的存储( 对象存储 )基础,我们可以基于其保存自己资料,同步自己的工作状态,实现线上云存储,处处都能访问。但是,各种云存储繁琐复杂管理配置甚是不便,这时候就需要一个管理工具来统一管理,今天就给大家介绍一个这样的工具Rclon,其最大的特点就是支持广泛,使用简单。

概述

Rclone是一个命令行程序,用于管理云存储上的文件。他打包了各大供应商云存储的接口提供统一的访问界面。rclone支持40多种云存储产品,包括对象存储、企业和消费者文件存储、服务以及标准传输协议。

Rclone符合 unix POSIX 规范,支持于常见的shell工具,比如 rsync 、cp、 mv、 mount 、ls、ncdu、tree、rm 和cat等交互。Rclone使用我们耳闻能熟的语法,支持shell管道,支持–dry-run保护。

为了保护数据的可靠性,Rclone可保留时间戳和始终进行文件验证校验和。

rclone 使用服务器端传输来最小化本地带宽使用和从一个提供商到另一个提供商的传输使用本地磁盘。

Rclone支持直接文件系统挂载,可以在任何本地、云或虚拟文件系统,可以跨平台使用,包括Windows, macOS 、linux 和 FreeBSD 等系统。

Rclone多种文件传输协议,支持SFTP,HTTP,WebDAV,FTP和DLNA。

Rclone是一个成熟的开源软件,最初受rsync的启发并采用 golang 编写。其文档和社区也都非常好,提供广泛和友好的使用用例。

基本功能

Rclone可以实现:

将文件备份(和加密)到云存储;

从云存储恢复(和解密)文件;

将云数据镜像到其他云服务或本地;

数据迁移 到云端,或在云存储供应商之间迁移;

将多个、加密、缓存或多样化的云存储安装为磁盘;

分析云存储中保存的数据LSF,ljson,size,ncdu的各种信息;

支持将多个本地和/或云文件系统联合在一起呈现为一个。

支持的提供商

Rclone支持广泛的云厂商:

还有很多其他的,建立在标准协议上,例如WebDAV或S3,开箱即用。

安装

二进制包

由于采用Golang开发,最终工具切一个其编译可以执行包Rclone(windows下为Rclone.exe),当前版本为1.57,可以直接下载各大平台对应的二进制包:

安装脚本

也可以通过安装脚本安装(Linux、MacOS,BSD):

 curl rclone.org/install.sh | sudo bash  

为了尝鲜未正式发布新功能,可以安装beta版:

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

docker版本

rclone也支持docker版本安装:

 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  

源码安装

对于熟悉golang开发,有golang 开发环境 的同学可以clone源码,然后自己编译安装(可以自己做修改)

 go get  Github /rclone/rclone  

使用

Rclone是一个命令行工具,基本命令格式:

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

其支持的子命令常用有,详细可以参考其帮助。

使用实例

Rclone最主要的是配置其来源地址,其子命令是rclone config这可以启动其交互式配置界面(可以直接修改~/.config/rclone/rclone.conf配置文件),此处我们以Google Drive的配置为例予以展示,其他类型配置基本上大同小异。

选择 16 “Google Drive”

连续三个回车,忽略其选项,然后

选择1 “Full access all files, excluding Application Data Folder”

回车,出车,n

将确认的地址Url复制到浏览器,进行权限授权

会反馈一个验证字串

复制到终端,执行

然后可以将其挂载到本地盘使用

 rclone mount gdrive: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes  

Web Gui

为了方便使用Rclone也提供了一个bate版本的Web管理界面,可以使用

 rclone rcd --rc-web-gui --rc-user=<user> --rc-pass=<pass>  

启用。

然后用指定的用户名和密码登录:

登录后首页界面如下:

可以直接在界面上,进行配置:

可以查看后端服务信息

可以进行新的挂载

总结

本文我们介绍了一个云存储的同步软件Rclone,支持最广泛的云存储(网盘)的产品,可以将我们的工作,个人备份等工作都交给它来管理,虽然其功能主要基于命令行,这可能对广大不熟悉命令行的同学存在一定的障碍,但是随着Web Gui推出这个问题得到改善。当然我们只是介绍了一个大概,很多的功能和用例则需要大家在实际使用中才能亲手验证。

相关文章