Rclone教程 – 使用Rclone将文件和目录从Linux同步到云存储

Rclone是一个命令行程序,用于与Google Drive,Amazon S3,Openstack Swift / Rackspace/ Memset Memstore,Dropbox,Google Cloud Storage,阿里云(阿里云)对象存储系统(OSS等本地文件系统同步文件和目录。它是一个Go程序,作为单个二进制文件提供。Rclone是MIT许可条款下的免费开源软件,该软件托管在其Github存储库中。

Rclone的特点

  • MD5SUM始终检查文件完整性
  • 保留在文件上的时间戳
  • 部分同步支持整个文件
  • 复制模式只是复制新的/更改的文件
  • 同步模式使目录相同
  • 检查模式以检查所有MD5SUM
  • 可以与网络同步,例如。两个不同的云计算帐户

Rclone安装

Rclone是一个Go程序,它是一个单独的二进制文件。我们可以 从官方网站下载相关的二进制文件。或者通过Go程序安装它。如果您没有Go Program,可以按如下所示进行安装:

安装Go

Ubuntu系统:

sudo apt - get install golang
安装golang

Fedora,CentOS,RHEL系统

  • 下载并设置Fedora EPEL存储库
yum install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
  • 使用yum manager 安装golang
yum install golang
  • 使用Go安装Rclone

我们可以使用Go程序轻松安装rclone,只需一个命令触发即可构建二进制文件$GOPATH/bin

go get github.com/ncw/rclone
去获取rclone

它是我们的Go程序下载和构建包的目录。要解决此问题,我们应该在shell或终端中执行以下命令,然后在上面重试。

export GOPATH="$HOME/gopath/"

上面的命令将$GOPATH指向/home/username/gopath/目录。

Rclone配置

现在,我们已经在/home/username/gopath/目录下成功安装了我们的rclone。我们现在想要配置我们的rclone。所以,要做到这一点,我们需要进入$ GOPATH / bin,因为二进制rclone在该文件夹中。

cd $GOPATH/bin

现在,因为我们位于bin目录中,其中名为rclone的可执行文件位于bin目录中。我们希望将rclone二进制文件作为全局二进制命令轻松访问。为此,我们将文件rclone 以root模式复制到/usr/bin/。

sudo cp rclone /usr/bin/

现在,我们要将其配置为。

rclone config
配置Rclone

现在,我们将创建远程连接的选项。由于我们目前没有建远程连接,先添加它。要添加新的远程连接,我们需要输入n,并为其命名,我们将其命名为gdrive。之后,我们将列出一组我们想要与新远程连接一起使用的源。当我们要测试Google云端硬盘时,我们会选择驱动器

添加远程Gdrive

然后,我们将被问到有关使用客户端的一些问题,我们可以按Enter键并默认使用rclone的应用程序。然后,我们将获得一个链接,我们应该接受这个链接以便将rclone与Google Drive连接起来。我们应该在Web浏览器中浏览该链接,然后我们将获得一个代码,我们需要将其粘贴到我们的rclone的命令行界面中。

谷歌应用程序代码
配置Gdrive

现在,我们想要输入Y来确认配置,我们现在想退出rclone配置。现在,我们已成功将Rclone与Google云端硬盘连接。

Rclone使用

现在,我们将学习如何使用Rclone通过Google云端硬盘传输/同步文件和文件夹。以下是我们可以使用Rclone工具执行的一些用法。

复制文件

要复制文件或文件夹,我们可以执行rclone copy source:path dest:path命令,如下所示:

rclone copy /home/arun/Documents/linoxide/ gdrive:linoxide
rclone copy

在这里,我们将复制命名的文件夹linoxide这里面的/home/arun/Documents/ 到远程服务器的文件夹命名linoxide。与复制单个文件类似,我们可以指向源:文件路径以将文件复制到目标。注意:它不会从目标中删除文件。

同步文件

我们可以使用命令rclone sync source轻松地将源同步到目标:path dest:path as:

rclone sync /home/arun/Documents/linoxide/ gdrive:linoxide
rclone sync

现在,目录/home/arun/Documents/linoxide/被同步到名为linoxide的远程目录。注意:它删除源中存在的目标中不存在的任何文件。由于这会导致数据丢失,请首先使用-dry-run标志进行测试。

查看文件

我们可以查看我们连接的远程服务器的文件列表,文件夹。在这里,我们已添加并与我们的Google云端硬盘连接,作为远程​​名称gdrive。我们将输入以下命令来查看它们。

rclone ls gdrive:

列出路径中具有大小的所有对象

rclone lsl gdrive:
列出目录和文件

列出路径中包含大小和时间戳的所有对象。

rclone lsd gdrive:
列出时间戳

列出路径中的所有目录/对象/存储分区。

创建和删除路径

使用rclone mkdir可以轻松地为远程服务器创建新目录。我们可以简单地输入以下命令,以便在我们的遥控器内创建一个目录。在这里,我们在linoxide中创建了一个名为arun的文件夹,之前还没有。

rclone mkdir gdrive:/linoxide/arun

我们可以用rmdir命令删除一个空目录。在这里,我们将删除linoxide父目录下新创建的文件夹arun。

rclone rmdir gdrive:/linoxide/arun

现在,如果我们想删除非空目录及其内容,我们将使用清除。在这里,我们有一个包含许多文件和文件夹的目录数据。

rclone purge gdrive:/linoxide/data

验证路径

现在,要检查和匹配源和目标中的文件,我们将使用check 命令。它比较大小和MD5SUM并打印不匹配的文件的报告。它不会改变源或目的地。

rclone check /home/arun/linoxide/linux.tar gdrive:/linoxide/linux.tar

如果我们想为路径中的所有对象生成md5sum文件,我们可以运行md5sum命令,其中rclone指向远程目录。其格式与标准md5sum工具生成的格式相同。

 rclone md5sum gdrive:/linoxide/

Rclone支持的服务

  • 阿里云(阿里云)对象存储系统(OSS)
  • 亚马逊驱动器
  • 亚马逊S3
  • Backblaze B2
  • Box
  • Ceph
  • DigitalOcean Spaces
  • Dreamhost的
  • Dropbox的
  • FTP
  • Google云端存储
  • Google云端硬盘
  • HTTP
  • Hubic
  • Jottacloud
  • IBM COS S3
  • Koofr
  • Memset Memstore
  • Mega
  • Microsoft Azure Blob存储
  • Microsoft OneDrive
  • Minio
  • Nextcloud
  • OVH
  • OpenDrive
  • Openstack Swift
  • Oracle云存储
  • ownCloud
  • pCloud
  • put.io
  • QingStor
  • Rackspace云文件
  • Scaleway
  • SFTP
  • Wasabi
  • WebDAV
  • Yandex磁盘
  • 本地文件系统

Rclone总结

我们已经成功安装了Rclone并学会了如何使用它。因此,正如我们所知,本文引导我们了解Rclone是什么,它的功能,安装和使用它的过程。Rclone是一个命令行程序,用于与Google Drive,Amazon S3,Openstack Swift / Rackspace云文件/ Memset Memstore,Dropbox,Google Cloud Storage,本地文件系统同步文件和目录。