Cli Google Drive Client Grive2:如何启用自动同步

Grive2 是一款支持部分同步的 Linux 版免费开源命令行 Google Drive 客户端,在 Linux 用户中非常流行,但许多人可能不知道该工具包含一个用于自动同步 Google Drive 文件的内置解决方案本地文件夹。

Grive2 GitHub 项目页面最近更新,包括启用自动同步解决方案的说明
:计划同步(每 5 分钟检查一次 Google Drive 上的更改并在本地同步更改)并与 Google Drive 同步本地文件更改事件(发生时自动从本地文件系统上传新的和更改的文件),使用 inotify 与系统单位。

系统单元和同步脚本直接在 Grive2 存储库中可用,并在安装应用程序时自动安装。 它们不是新的(尽管最近有一个修复程序用于处理名称中带有空格的目录),但直到最近才在项目页面上提到这一点,所以很多用户可能会错过它。

多亏了这个功能,Grive2 可以提供一种体验 close 到官方的 Google Drive 客户端(仅从同步的角度来看,因为没有文件管理器集成等)。

Grive2 自动同步虽然并不完美(但对于大多数用户来说应该足够了)
. 由于 inotify(通过 Bash 脚本使用),本地文件更改会立即上传到 Google Drive,但 Google Drive 上更改的文件不会立即下载到本地文件系统,因为 Grive2 无法自动检测 Google Drive 上发生更改的时间。 为了解决这个问题,Grive2 使用 systemd 计时器单元来检查远程更改(默认设置为 5 分钟)。

Grive2 wiki 主页提到将来可能会实现守护程序模式,以避免多次运行 Grive2 来同步文件。

格里夫 2 功能

Grive2 是用于 Linux 的原始 Grive Google Drive 客户端的一个分支。 最初的项目被放弃了,但 Vitaliy Filippov 以 Grive2 的名义对其进行了分叉,并添加了对 Drive REST API 的支持、部分同步支持以及其他改进。

Grive 2 功能包括:

  • 从命令行同步文件从 / 到 Google Drive 和本地文件系统上的文件夹
  • 部分/选择性支持:您可以通过将特定文件和文件夹添加到 .griveignore 文件。 您也只能同步一个子目录 grive -s subdir
  • --no-remote-new (仅下载已在 Google Drive 中更改且本地已存在的文件)和 --upload-only 模式(不要从 Google Drive 下载任何东西,只上传本地更改)
  • 在服务器中为更新的文件创建新修订
  • 自动移动/重命名检测
  • 同步共享文件(您需要从网络界面明确将它们添加到您的 Google Drive)
  • 可选择限制上传或下载速度
  • 上传或下载文件时可选择显示 ASCII 进度条
  • Auth2 身份验证

要查看它提供的所有内容,请运行
man grive

安装后。

该应用程序不支持 Google 文档或符号链接。 它也不支持直接自动同步(持续等待文件系统或 Google Drive 中的更改并自动上传更改),但这要归功于与 Grive 2 捆绑在一起的 inotify 脚本和 systemd 单元,我在文章的开头。

安装 Grive2 并启用 Google Drive 文件与本地文件夹的自动同步

如何安装 Grive2,请参见安装页面。
确保下载最新的 Git 代码,而不是最新版本,因为后者已经很老了。

这些说明包括您自己创建 Debian 软件包的步骤(您可以在 Debian、Ubuntu、Linux Mint、elementary OS 和其他基于 DEB/Apt 的 Linux 发行版上使用它),但是
您还可以从此处下载适用于 Ubuntu 或 Linux Mint 的 Grive2 DEB 二进制文件
(如果您想要自动更新,也可以添加 PPA)。 尽管分叉被称为 Grive2,但二进制文件继续被称为
grive

,就像旧的、未维护的项目一样。 确保为您的 Ubuntu 版本下载最新的 Grive2 构建(您可以查看日期以查看哪个更新)。

现在已经安装了 Grive2,让我们使用它来将您的 Google Drive 文件与本地目录同步,并启用计划同步和文件更改同步功能。

1. 在您的主目录中创建一个文件夹,我们将在其中同步 Google Drive 文件。

必须在用户的主目录中创建本地 Google Drive 文件夹,否则自动同步脚本将不起作用。 我建议您创建一个名为
GoogleDrive

在您的主目录中,通过使用文件管理器或键入以下命令:

mkdir ~/GoogleDrive