您未使用的最佳工具

每天我们从一个云跳到另一个云对我来说,在桌面/笔记本电脑上拥有多个云存储提供商,一个外部HDD以及一些随机文件和文件夹似乎很正常。

我的工作帐户在GDrive上有120GB,我有1TB的Dropbox,4TB的MEGA,并且我拥有托管在GSuite上的域电子邮件,其中包含800GB以上的文件。 4个平台上总共约有6TB的存储空间。

我需要确定自己是云存储瘾君子。

我要控制住自己的生活而采取的步骤之一就是尽可能地实现自动化。 移动文件,同步文件夹,更新版本,这些都是繁琐的任务,非常适合计算机程序。

Jeremy Perkins在Unsplash上​​拍摄的照片

向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 

Rclone入门

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

Rclone安装配置加密密码

第三步

现在该创建您的遥控器了。 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,并且几乎不需要编辑配置文件。

Rclone GDrive访问

Rclone Dropbox访问

一旦您设置了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中的文件夹和文件:

 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] 
(列出远程或特定文件夹中所有文件的位置/大小/)

lsd命令显示顶级文件夹

特定文件夹的ls命令

所有命令均在此处的文档中列出。

注意上面两件事:

  • 在整个远程服务器上运行ls命令将产生一长串文件,最好指定一个特定的文件夹并在其中运行命令。
  • 如果您的文件夹名称中包含空格,请使用报价市场将其绑定在一起。 示例:临时文件夹→“临时文件夹”

第5步

一旦了解了结构,就可以轻松移动文件和文件夹。 我已经在诸如Hetzner的提供程序上设置了服务器,一旦使用SSH,我就设置了Rclone并一次使用其千兆位速度移动800GB,以在服务之间传输文件。 在另一篇文章中,我将向您展示如何进行设置,并在此处进行链接。

以下是在2个提供程序GDrive和Dropbox之间传输文件所需的步骤。 使用这些命令时,请记住要小心,因为它们可能具有破坏性(文件被删除或删除)。 如果您移动文件而丢失或删除了文件,我无济于事。

最基本的命令是:

  rclone复制[来源]:/ [文件夹] [目标]]:/ [文件夹] 

上面的命令就像一个多功能工具。 它做很多事情,但做起来却不如专用工具好。 我们将分解它:

  rclone copy <-这是将文件从源复制到dest,跳过已复制的复制命令。 第一次同步时使用此选项,因为使用时不会删除文件。 
  [源]:/ [文件夹] <-源是包含文件的远程。 并且,如果仅同步特定文件夹,请确保指定此文件夹,否则将同步整个遥控器。 
  [目标]]:/ [文件夹] <-目标是接收文件的远程目录。 而且,如果要将文件放在特定的文件夹中,请确保指定此文件夹,否则将导致混乱的遥控器。 

检查文件夹和移动文件

上面发生了什么:

  1. 检查保管箱中的顶级文件夹:
  2. 检查保管箱的内容:/“测试文件夹”
  3. 检查gdrive中的顶级文件夹:
  4. 检查“测试”的内容
  5. 将文件从保管箱:/“测试文件夹”复制到gdrive:/ Test
  6. 检查保管箱的内容:/“测试文件夹”
  7. 检查gdrive:/’Test’的内容

您会看到文件已从我的Dropbox镜像到我的GDrive。 如果没有Rclone,我将下载文件并上传它们,创建文件的3个副本(1xDropbox,1xLocal,1xGDrive)。 这样,就可以在2个Remote上镜像1个副本。 通常我不会检查每个文件夹,但是为了显示传输,我正在分解它。

注意:使用Rclone的一个好处是保留了文件元数据。 如果文件在Remote1上的日期是过去的日期,则在Remote2上可以看到相同的日期。 传输大量文件时非常方便。

最基本的命令是:

  rclone sync [源]:/ [文件夹] [目标]]:/ [文件夹] 

上面的命令正在使用:sync。 复制类似的命令,但此命令可能具有破坏性 。 我们将通过一个示例对其进行分解:

现在,让我们使用“ sync”选项尝试相同的命令。

发生了什么:

  1. 列出Dropbox中的所有文件:/“测试文件夹”
  2. 删除文件:123.png
  3. 列出Dropbox中的所有文件:/“测试文件夹”(显示123.png消失了)
  4. 列出gdrive:/’Test’中的所有文件(显示123.png存在)
  5. 在两个遥控器上同步2个文件夹。
  6. 列出Dropbox中的所有文件:/’Test Folder’(123.png仍被删除)
  7. 列出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设置

我的下一个主题是Rclone crypt ,还将向您展示如何在本地安装远程服务器,以使用计算机的GUI导航文件。

最终,我将介绍每天/每周从VPS自动化脚本的过程。 从本质上讲是自动化整个过程的第2到第2阶段。

谢谢@all,

大卫。