安装cURL后,使用以下命令安装rclone:
curl https://rclone.org/install.sh | sudo bash
rclone安装完成后,您将看到一条成功消息。
这已在您的Linux计算机上安装了rclone程序。下一步是运行安装过程并验证rclone以访问您的Google Drive。
创建rclone远程连接
到远程云服务的连接在rclone世界中称为“远程”。我们需要为Google Drive创建一个。使用以下命令启动rclone配置过程:
rclone config
在配置过程中有很多问题。但是不要灰心丧气,它们中的许多可以保留为默认值,只需按“Enter”键即可接受。
rclone告诉我们没有配置远程。按“n”,然后按“Enter”创建新遥控器。它将提示您输入名称。我们会把它叫做“Google-Drive”你喜欢用什么名字都行。
长菜单允许您选择要创建远程连接的存储类型。
滚动列表,直到看到Google Drive条目,然后记下它的编号。
我们可以看到,在本例中,它是编号13。输入这作为存储类型,然后按“Enter”。
系统会提示您输入Google应用程序客户端ID。按“Enter”接受默认值。
然后系统会提示您输入Google Application Client Secret。
再说一遍,只需按“回车”即可。您需要提供rclone在您的Google Drive上运行时将具有的作用域。按“1”,然后按“回车”。
对于“根文件夹ID”,只需按“Enter”即可。
在“Service Account Credentials”(服务帐户凭据)提示下,按“Enter”。
在“Edit Advanced config”(编辑高级配置)提示下,只需按“Enter”(回车)即可。在“USE AUTO CONFIG”(使用自动配置)菜单中,按“y”,然后按“Enter”。
这会使rclone与您的Google Drive进行通信,并启动您的浏览器以允许您授予rclone与Google Drive交互的权限。
在浏览器窗口中,单击要使用的Google帐户。
单击“允许”按钮允许rclone访问您的Google Drive。
身份验证完成后,您将看到“成功!”浏览器窗口中的消息。您可以关闭浏览器并返回终端窗口。
在“Configure this as a team drive”提示符下,键入“n”,然后按“Enter”。
在“Yes,Edit,Delete”菜单中键入“y”,然后按“Enter”。
在最后一个菜单中,键入“q”,然后按“Enter”。
rclone备份脚本
rclone应用程序功能非常丰富。这很好,但这确实意味着有很多选择。我们将在下面查看的命令将文件从您的本地计算机复制到您的Google Drive。这是到云的单向复制;它不是Google Drive和本地计算机之间的双向同步-尽管rclone可以做到这一点。我们用它作为场外备份的一种基本形式。
将其键入(或复制并粘贴)到文本编辑器中,并将其保存到您的计算机中。我们称之为gbk.sh。你可以叫它任何你觉得有意义的名字。
#!/bin/bash
/usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/dave/Documents" "google-drive:LinuxDocs"
以下是参数的含义:
复制:将文件从本地计算机复制到远程存储,跳过远程存储上已存在的文件。 -UPDATE:跳过远程存储上修改时间晚于本地计算机上的文件的所有文件。 -Verbose:提供有关传输的每个文件的信息。 -TRANSFERS 30:设置要并行复制的文件数。 -Checker 8:并行运行多少个“Checker”。检查器监控正在进行的传输。 -contimeout 60s:连接超时。它设置rclone尝试连接到远程存储的时间。 -超时300s:如果传输在此时间内变为空闲状态,则认为传输已中断并断开连接。 -重试3:如果有这么多错误,整个复制操作将重新启动。 -低级-重试10次:低级重试尝试重复一个失败的操作,例如单个HTTP请求。该值设置重试次数的限制。 -stats 1s:rclone可以提供有关传输的文件的统计信息。这会将统计信息的更新频率设置为一秒。 “/home/dave/document”:我们要复制到远程存储的本地目录。 “google-drive:LinuxDocs”:远程存储的目的目录。注意“google-drive”的使用,这是我们在rclone配置序列期间为该远程连接指定的名称。还要注意冒号“:”,它用作远程存储名称和目录名之间的分隔符。子目录由通常的“/”正斜杠分隔。如果目标目录不存在,则会创建它。
这些值中有一些是默认值,但是我们在这里包含了它们,以便我们可以讨论它们。这样,如果您需要更改某个值,您就知道要调整哪个参数。
使用以下命令使脚本可执行:
chmod +x gbk.sh
运行备份脚本
我们的备份脚本将把Documents文件夹复制到Google Drive。在我们的Documents文件夹中,我们有一个乐谱集合。
我们可以使用以下命令启动备份脚本:
./gbk.sh
我们要求每隔一秒更新一次统计信息(--stats 1s),还要求详细输出(--Verbose)。那么我们得到大量的屏幕输出就不足为奇了。通常,打开新功能的详细输出是一个很好的选择,这样您就可以发现问题。一旦你很高兴事情进展顺利,你就可以调低产出量。
我们会得到一个最终摘要,告诉我们60个文件被无误地传输了。转账大约花了24秒。
让我们检查一下我们的Google Drive,看看我们的云存储中发生了什么。
已经创建了一个“LinuxDocs”目录,因此看起来很有希望。如果我们双击它来看一下里面,我们可以看到文件都已经传输到我们的Google Drive上了。
使用rclone查看Google Drive上的文件
我们可以使用rclone从终端窗口查看Google Drive上的文件夹:
rclone ls google-drive:/LinuxDocs
冰山之角
我们可以直接从命令行执行这种类型的复制,这太棒了。我们可以将云存储的使用合并到脚本中,并且可以使用cron调度备份脚本的执行。
rclone有绝对丰富的命令,我们鼓励您查看他们的文档和优秀的网站。我们在这里仅仅触及了皮毛,稍微阅读一下rclone和玩一下rclone就会使我们的努力得到很多倍的回报。
严格地说,这不是真正的备份。它是您的文件和数据的异地远程副本,这绝对是一件好事,但它只是文件的副本。它不提供真正的备份解决方案所提供的版本控制或其他功能。
因此,请将rclone与其他备份技术结合使用。作为现有备份机制的另一层,rclone是一种简单的方法,可以将您的数据存储在远离您的家或办公室的位置。这肯定是件好事。