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