Notebookcheck Logo
与主要云存储提供商同步 Linux 的第一方支持并不存在。不过,还是有一些选择的(图片来源:Rclone)

指南将 Unraid 或您选择的 Linux 发行版与 Google Drive 同步

CheckMag

多亏了 Valve 和 Proton,Linux 正在成为一个更可行的工作和娱乐平台,但对同步 OneDrive 和 Google Drive 等常用云服务的第一方支持却并不存在,而且与 TruNAS 和 Synology 不同,该功能并不是内置的。不过,有一个可靠且相对简单的解决方案。具体操作如下。
David Devey, 👁 David Devey (translated by Ninh Duy) Published 🇺🇸 🇫🇷 ...
DIY How To Linux / Unix NAS Open Source Opinion / Kommentar

这一切都源于我想找到一种将 Unraid 与 Google Drive 同步的方法。从 Synology(亚马逊网站上有售)迁移到 TrueNAS(两者都有直接将磁盘同步到 Google Drive 的原生功能)后,Unraid 严重缺少这一功能。Reddit 上充斥着https://www.reddit.com/r/unRAID/comments/v7gsbe/mount_google_drive_in_unraid/充斥着类似的问题有许多潜在的解决方案,但常见的解决方案往往是最好的(即使并不那么容易),而且这个特殊的解决方案也适用于任何 Linux 发行版,而不仅仅是 Unraid。

我的解决方案的关键标准之一是在 Google Drive 上保留可读文件,而不是加密备份。虽然这本身并不是一个备份解决方案,但可直接从 Google Drive 读取文件的便利性很有吸引力。这样,MSP360(前身为 CloudBerry)、DuplicatiDuplicacy不过,有一个名字始终出现在各种主题中,那就是 Rclone。

用户称 Rclone 为"云存储的瑞士军刀",这是有道理的。它支持你能想到的几乎所有云存储提供商的挂载,并提供一系列复制和同步命令,用于在驱动器之间镜像更改或单向备份。虽然 Rclone 有一个原生的 Unraid 插件,但它几乎可以安装在任何 Linux 发行版上。在本教程中,我们将介绍 Ubuntu,但无论选择哪种系统,挂载云驱动器、同步或复制文件的过程几乎都是一样的。它主要由命令行驱动,尽管我一开始有些担心,但到目前为止,这是我发现的最可靠的解决方案。一旦设置好,你基本上就可以不用管它了,Rclone 会按照日程表愉快地同步或复制你的文件。

安装

要安装 Rclone,请打开终端窗口并键入

sudo apt-get install rclone

你可能需要根据发行版调整命令。

安装完成后,键入

rclone config

这将启动交互式安装程序,你应该选择"新建远程"。为远程连接输入一个名称,这个名称可以是任何名称,但最好能反映你所选择的提供商--在本例中就是"谷歌"。选择好名称后,你就可以开始了解 Rclone 支持多少家云服务提供商了。

输入"18",选择 Google Drive 作为提供商。然后,系统会要求你输入一个客户 ID。此时,就可以进入Google API Console创建一个允许 Rclone 访问 Google Drive 的应用程序。

创建 Google API,授予 Rclone 对 Drive 的访问权限

说明Rclone 网站上提供的说明相当全面,不过,当你被要求在"数据访问"、"添加或删除作用域"下"添加作用域"时,可能会产生一些困惑。

Rclone 创建的 API 说明非常全面,但添加 "作用域 "并不是一目了然的(图片来源:Notebookcheck)
Rclone 创建的 API 说明非常全面,但添加 "作用域 "并不是一目了然的(图片来源:Notebookcheck)

您可以将以下内容粘贴到"手动添加范围"框中,逐个添加所有范围,也可以一次性添加所有范围:

www.googleapis.com/auth/docs,
www.googleapis.com/auth/drive
,
www.googleapis.com/auth/drive.metadata.readonly

点击左侧的"客户端",创建一个名为 "Rclone "的"桌面应用程序"或其他任何你喜欢的程序。记下客户端 ID,点击客户端名称即可获取客户端秘密。

有了这些信息后,点击左侧的"受众"并发布应用程序。从技术上讲,谷歌要求您验证应用程序,这可能需要一些时间。不过,您也可以不经过验证就开始使用。您可以将其保留在"测试"状态而不发布,但您必须每周刷新任何补助金,这并不现实。现在我们已经有了客户端 ID 和客户端秘密,你可以回到终端窗口输入这些凭证。

选择"1"作为允许完全访问所有文件的范围,下一部分"Option service_account file"可以留空。高级配置选择"否",自动配置选择"是"。这很有用,因为它会打开浏览器,允许你用谷歌账户验证 Rclone。在 Unraid 上设置机器时,最简单的方法是在初始设置时插入显示器并使用图形用户界面模式,但也可以在无头机器上选择"否"来实现这一功能,请注意这一过程会比较复杂。

我们的 Google Drive 不是共享驱动器,因此我们可以在下一步点击"否",然后只需确认即可保存连接。

假设你不是无头苍蝇,Rclone 会打开浏览器,提示你登录并提供权限(图片来源:Notebookcheck)
假设你不是无头苍蝇,Rclone 会打开浏览器,提示你登录并提供权限(图片来源:Notebookcheck)

安装我们的 Google Drive

完成后,我们需要创建一个挂载硬盘的位置。创建一个挂载硬盘的文件夹,键入

mkdir -p ~/gdrive

然后将硬盘挂载到该位置,键入

rclone mount google:~/gdrive

现在,你可以将任何需要的文件拖放到该文件夹中,它们就会自动出现在你的 Google Drive 中。同样,你在网络版 Google Drive 中创建或添加的任何文件也会出现在该文件夹中。

一旦正确加载,您对加载文件夹所做的任何更改都将反映在 Google Drive 中,反之亦然(图片来源:Notebookcheck)
一旦正确加载,您对加载文件夹所做的任何更改都将反映在 Google Drive 中,反之亦然(图片来源:Notebookcheck)

现在你已经可以挂载 Google Drive 了,是时候把它添加到 crontab 中了,这样它就能在重启后继续运行。我们还可以使用 crontab 来安排复制或同步到 Google Drive 的时间。

经受住重启并安排同步

要编辑 crontab,请键入crontab -e并选择"nano"作为编辑器。进入 crontab 后,粘贴以下内容:

@reboot rclone mount google:/home/YOURUSERNAME/gdrive

在 crontab 文件中,你还可以安排在特定日期或星期在文件夹和 Google Drive 之间执行复制或同步命令。

Rclone 命令的完整列表可在这里找到。,但关键命令包括

  • "复制"--将一个目录中的任何文件复制到另一个目录,跳过没有任何更改或已经存在的文件。
  • "同步"--使源文件和目标文件保持一致,只修改目标文件。
  • "bisync"- 在两个路径之间执行双向同步。

你可以在 crontab 文件中加入同步或复制命令。使用Crontab Guru来计算同步频率,并复制和粘贴要同步的目录。

*/5 * * * * rclone copy /home/YOURUSERNAME/Documents google:Documents

因此,上述 cron 会每隔 5 分钟将 Documents 文件夹的内容复制到 Google Drive 中名为 Documents 的文件夹。您可以根据需要添加不同频率和文件夹的任务。

crontab 文件允许你添加任意数量的命令,以便与 Google Drive 同步目录(图片来源:Notebookcheck)
crontab 文件允许你添加任意数量的命令,以便与 Google Drive 同步目录(图片来源:Notebookcheck)

虽然 Rclone 的设置并不是最简单的,但在尝试了许多付费和免费解决方案后,Rclone 是我迄今为止发现的最可靠的 "设置和遗忘解决方案"。

无论你是使用Unraid 插件的 Unraid 用户,还是只想同步备份的 Linux 用户,Rclone 都能支持众多云存储提供商,而且还有更多命令和用例在此不一一列举。的 Unraid 用户,还是只想同步或备份 Linux 盒子上特定目录的 Linux 用户,Rclone 真的是"云存储的瑞士军刀"。

Please share our article, every link counts!
Mail Logo
> Notebookcheck中文版(NBC中国) > 新闻 > 新闻档案 > 新闻档案 2025 03 > 指南将 Unraid 或您选择的 Linux 发行版与 Google Drive 同步
David Devey, 2025-03- 7 (Update: 2025-03- 7)