每天我们从一个云跳到另一个云对我来说,在桌面/笔记本电脑上拥有多个云存储提供商,一个外部HDD以及一些随机文件和文件夹似乎很正常。
我的工作帐户在GDrive上有120GB,我有1TB的Dropbox,4TB的MEGA,并且我拥有托管在GSuite上的域电子邮件,其中包含800GB以上的文件。 4个平台上总共约有6TB的存储空间。
我需要确定自己是云存储瘾君子。
我要控制住自己的生活而采取的步骤之一就是尽可能地实现自动化。 移动文件,同步文件夹,更新版本,这些都是繁琐的任务,非常适合计算机程序。

向Rclone打个招呼。 另一个开源程序Rsync的分支。 这两种功能极其强大的工具可用于管理多个目录,本地文件和远程文件,使您的生活更加轻松。 作为命令行工具,它有一个学习曲线,了解输入的内容对于确保文件不会重复和覆盖至关重要。 以下是根据我自己的学习而获得的Rclone入门指南。 我不是专家 ,Reddit已将我介绍给了许多才华横溢的人,他们用这些工具做了很了不起的事情。
下面是使用此惊人工具所需采取的步骤,将其分解以使您准确了解自己在做什么以及如何做。 下面,我重点介绍Rclone的一些关键功能,这些功能使其成为了令人赞叹的工具。
第1步
下载它。 Rclone站点可以很好地解决此问题,如果您使用的是MAC / Linux,则甚至不需要访问该站点。 只需打开一个终端窗口(在Mac上)并粘贴:
curl https://rclone.org/install.sh | sudo bash
对于Windows机器,请查看下载页面。 如果您有一台运行Windows 10的半新计算机,则将下载并启动AMD64 Windows版本(在撰写本文时,Rclone处于v.1.46上)。
第2步
一旦安装了Rclone,我们就可以开始检查功能。 我使用的是MacBook,所以所有屏幕截图均来自Terminal。 我们通过运行以下命令启动Rclone:
rclone config

从这里开始,我们迎来了一个简单的菜单。 最初,我总是建议创建一个配置密码。 如果某人可以访问您的计算机,并且他们知道此程序,则可以跨远程将文件同步到他们的恶意选择的任何位置。 为此,请键入“ s”,然后按照屏幕上的说明进行操作。

第三步
现在该创建您的遥控器了。 Rclone与许多主要和次要的云存储提供商进行了集成,该界面指导您完成这些步骤。 有传统的集成,还有一些其他有用的加密和挂载选项。 对于我的演示,我将文件从我的Dropbox同步到我的GDrive。
- 阿里云
- 亚马逊驱动器
- 亚马逊S3
- Backblaze B2
- 框
- 头孢
- 数字海洋空间
- 梦幻主机
- 投寄箱(引荐链接)
- 的FTP
- 谷歌云存储
- Google云端硬盘(引荐链接可享受20%的折扣)
- HTTP
- 胡比
- Jottacloud
- IBM COS S3
- Memset记忆库
- 兆
- Microsoft Azure Blob存储
- 微软OneDrive
- 小野
- 未来云
- OVH
- 的OpenDrive
- Openstack Swift
- Oracle云存储
- ownCloud
- pCloud
- put.io
- 青斯托
- Rackspace云文件
- 标尺
- SFTP
- 芥末
- WebDAV
- Yandex磁盘
- 您的本地文件系统

在我的情况下,通过键入服务“投递箱”的名称来选择您的遥控器。 从这里开始,我们将指导您完成每个遥控器的设置。 Rclone在每个遥控器的设置方面都有出色的文档,并且在每个遥控器上都提供了示例演练。
Dropbox演练
GDrive演练

对于大多数远程设备,您可以通过多种方式限制Rclone对“读/写”的访问权限。 选项1和2是最常用的选项,并且仅是必需的选项。 理想情况下,为限制文件丢失,应将远程源设置为只读(2),将目标远程设置为读写(1)。
此外,极少需要高级配置,在99%的情况下,自动配置都可以使用。 如果要设置迁移服务器或有特定要求,Rclone文档会比我能更好地介绍这些细节。
如果您的计算机是本地计算机,而不是在服务器上,请选择“ Y”进行自动配置,然后将打开一个新的浏览器窗口,允许Rclone访问您的GDrive。 接受权限,然后将令牌复制并粘贴到您的终端中。 除非您要使用多个帐户设置批量迁移,否则不太可能需要TeamDrive,并且几乎不需要编辑配置文件。


一旦您设置了2个(或更多)遥控器,我们就可以开始测试一些文件传输了。
第四步
在下面,我设置了2个遥控器,它们的名称可以是通用的也可以是唯一的。 从这里我们退出(q),我们可以开始利用Rclone的探索功能。 退出配置(q)并测试您的远程设置。
注意1 :如果无法列出文件或显示错误消息,则可能是在Rclone中错误地设置了远程驱动器。 如果已执行此操作,请转至“ rclone config”,选择“ Delete remote-d”选项,然后删除该遥控器以重新启动。
注意2 :访问驱动器时,某些遥控器需要一些时间才能建立连接。 如果您正在等待20–30秒以使遥控器响应,请不要担心。
注3 :如果需要查看Rclone中任何命令的情况。 在命令末尾添加“ -vv”(非常详细)或“ -v”(常规详细信息),这将生成消息并显示任何错误。 错误是正常的,例如,在访问GDrive时,您会看到许多错误,例如“ 错误googleapi:错误403:超出速率限制 ”。 这是正常现象,Rclone为您处理这些错误。

一些示例命令,用于浏览Rclone中的文件夹和文件:
rclone lsd [remote name]:/[Optional - Specify Remote Folder](List the directories of the top level folder or specific folder)
rclone ls [remote name]:/[Optional - Specify Remote Folder]
(列出远程或特定文件夹中的所有文件)
rclone lsl [remote name]:/[Optional - Specify Remote Folder]
(列出远程或特定文件夹中所有文件的位置/大小/)


所有命令均在此处的文档中列出。
注意上面两件事:
- 在整个远程服务器上运行ls命令将产生一长串文件,最好指定一个特定的文件夹并在其中运行命令。
- 如果您的文件夹名称中包含空格,请使用报价市场将其绑定在一起。 示例:临时文件夹→“临时文件夹”
第5步
一旦了解了结构,就可以轻松移动文件和文件夹。 我已经在诸如Hetzner的提供程序上设置了服务器,一旦使用SSH,我就设置了Rclone并一次使用其千兆位速度移动800GB,以在服务之间传输文件。 在另一篇文章中,我将向您展示如何进行设置,并在此处进行链接。
以下是在2个提供程序GDrive和Dropbox之间传输文件所需的步骤。 使用这些命令时,请记住要小心,因为它们可能具有破坏性(文件被删除或删除)。 如果您移动文件而丢失或删除了文件,我无济于事。
最基本的命令是:
rclone复制[来源]:/ [文件夹] [目标]]:/ [文件夹]
上面的命令就像一个多功能工具。 它做很多事情,但做起来却不如专用工具好。 我们将分解它:
rclone copy <-这是将文件从源复制到dest,跳过已复制的复制命令。 第一次同步时使用此选项,因为使用时不会删除文件。
[源]:/ [文件夹] <-源是包含文件的远程。 并且,如果仅同步特定文件夹,请确保指定此文件夹,否则将同步整个遥控器。
[目标]]:/ [文件夹] <-目标是接收文件的远程目录。 而且,如果要将文件放在特定的文件夹中,请确保指定此文件夹,否则将导致混乱的遥控器。

上面发生了什么:
- 检查保管箱中的顶级文件夹:
- 检查保管箱的内容:/“测试文件夹”
- 检查gdrive中的顶级文件夹:
- 检查“测试”的内容
- 将文件从保管箱:/“测试文件夹”复制到gdrive:/ Test
- 检查保管箱的内容:/“测试文件夹”
- 检查gdrive:/’Test’的内容
您会看到文件已从我的Dropbox镜像到我的GDrive。 如果没有Rclone,我将下载文件并上传它们,创建文件的3个副本(1xDropbox,1xLocal,1xGDrive)。 这样,就可以在2个Remote上镜像1个副本。 通常我不会检查每个文件夹,但是为了显示传输,我正在分解它。
注意:使用Rclone的一个好处是保留了文件元数据。 如果文件在Remote1上的日期是过去的日期,则在Remote2上可以看到相同的日期。 传输大量文件时非常方便。
最基本的命令是:
rclone sync [源]:/ [文件夹] [目标]]:/ [文件夹]
上面的命令正在使用:sync。 复制类似的命令,但此命令可能具有破坏性 。 我们将通过一个示例对其进行分解:
现在,让我们使用“ sync”选项尝试相同的命令。

发生了什么:
- 列出Dropbox中的所有文件:/“测试文件夹”
- 删除文件:123.png
- 列出Dropbox中的所有文件:/“测试文件夹”(显示123.png消失了)
- 列出gdrive:/’Test’中的所有文件(显示123.png存在)
- 在两个遥控器上同步2个文件夹。
- 列出Dropbox中的所有文件:/’Test Folder’(123.png仍被删除)
- 列出gdrive:/’Test’中的所有文件(显示123.png消失了)
上面,我们可以看到SYNC的破坏性使用。 如果我们想精确地镜像2个遥控器,这可能非常有用。 如果我们要备份2个远程,则这没有用,因为所有更改都从源远程复制到目标远程。
奖金步骤—标志
更好地控制Rclone可以释放很多好处,例如提高速度,更新等。 以下是我最喜欢的一些细分:
rclone复制[源]:[目标]:-v -c --bwlimit 8M --transfers = 3 --stats = 30s --dry-run
-v <-使用-v标志,rclone将产生错误,通知和信息消息。
-c <-Rclone将查看修改时间和文件大小,以查看它们是否相等。 如果设置此标志,则rclone将检查文件哈希和大小以确定文件是否相等。
--bwlimit 8M <-占用所有带宽是不礼貌的。 如果您需要限制传输速度,请使用此标志。 例如:GDrive将每日传输限制为750GB或〜9MB / s。
--transfers = 3 <-指定并行传输的文件数。 默认值为4,但是我已经达到20,没有任何问题。
--stats = 30s <-Rclone将每隔X秒或每分钟生成一次更新状态,以向您显示速率或传输或其他关键详细信息。
--dry-run <-进行传输并可能后悔之前,请使用此标志运行命令。 它会告诉您在不执行复制/同步/等操作时会发生什么。 一个您有信心的人,删除此标志并重复该命令。
一些更有用的标志:
更新遥控器:
--update <-Rclone将被迫跳过目标上存在的任何文件,并且修改时间比源文件新。
进度块:
--progress <-Rclone在终端的静态块中更新统计信息,以提供传输的实时概述。
一成不变
--immutable <-Rclone将源文件和目标文件视为不可变的,不允许进行任何修改。 这不会阻止文件被删除,现有文件将永远不会被更新。
结论
Rclone是一个了不起的工具。 了解了命令的结构并了解了如何浏览文档后,即可进行自动化,清理,加密,删除等操作。 它节省了我很多时间和头痛。
我喜欢写这篇文章,因为我的第一篇文章花了很多时间。 我想详细介绍Rclone和Rsync,因为有很多有用的功能可以用来节省时间(和金钱)。 对于上下文,我当前的设置如下所示:

我的下一个主题是Rclone crypt ,还将向您展示如何在本地安装远程服务器,以使用计算机的GUI导航文件。
最终,我将介绍每天/每周从VPS自动化脚本的过程。 从本质上讲是自动化整个过程的第2到第2阶段。
谢谢@all,
大卫。