GNU/Linux >> Linux の 問題 >  >> Debian

Cli Google Drive Client Grive2:自動同期を有効にする方法

Grive2 は Linux 用の無料のオープン ソース コマンド ライン Google ドライブ クライアントであり、部分的な同期をサポートしています。Linux ユーザーには非常に人気がありますが、多くの人は、このツールが Google ドライブを自動的に同期するための組み込みソリューションであることをおそらく知りません。 - ローカル フォルダーを含むファイル

Grive2 GitHub プロジェクト ページが最近更新され、自動同期ソリューションを有効にするための手順が含まれています :innotify を使用して、スケジュールされた同期 (5 分ごとに Google ドライブの変更を確認し、変更をローカルで同期) とローカル ファイル変更イベント (ローカル ファイル システムから新しいファイルや変更されたファイルを自動的にアップロードする) を同期します。

systemd ユニットと同期スクリプトは、Grive2 リポジトリで直接利用でき、アプリケーションのインストール時に自動的にインストールされます。これらは新しいものではありません (名前にスペースを含むディレクトリを処理するための最近の修正がありました) が、これは最近までプロジェクト ページで言及されていなかったため、多くのユーザーが見落としている可能性があります。

この機能のおかげで、Grive2 は公式の Google ドライブ クライアントに近いエクスペリエンスを提供できます (ファイル マネージャーの統合などがないため、同期の観点からのみ)。

ただし、Grive2 の自動同期は完全ではありません (ただし、ほとんどのユーザーにとっては十分なはずです)。 . inotify (bash スクリプト経由で使用) のおかげで、ローカル ファイルの変更はすぐに Google ドライブにアップロードされますが、Google ドライブで変更されたファイルはローカル ファイル システムにすぐにはダウンロードされません。この問題を回避するために、Grive2 は systemd タイマー デバイスを使用してリモートの変更をチェックします (デフォルトでは 5 分に設定されています)。

Grive2 Wiki のホームページには、ファイルを同期するために Grive2 を複数回実行することを避けるために、将来的にデーモン モードが実装される可能性があることが記載されています。

Give 2 関数

Grive2 は、Linux 用の元の Grive Google ドライブ クライアントのフォークです。元のプロジェクトは放棄されましたが、Vitaliy Filippov はそれを Grive2 という名前でスピンオフし、Drive REST API のサポート、部分的な同期のサポートなどを追加しました。

Grive 2 の機能は次のとおりです。

  • コマンド ラインから Google ドライブとローカル ファイル システム上のフォルダとの間でファイルを同期する
  • 部分的/選択的サポート:.griveignore に追加することで、特定のファイルやフォルダーを同期から除外できます。 ファイル。サブディレクトリ grive -s subdir のみを同期することもできます
  • --no-remote-new (Google ドライブで変更され、ローカルで既に利用可能なファイルのみをダウンロードします) および --upload-only モード (Google ドライブからは何もダウンロードせず、ローカルの変更のみをアップロードします)
  • 更新されたファイル用にサーバーで新しいリビジョンを作成する
  • 再配置/名前変更の自動検出
  • 共有ファイルを同期します (ただし、ウェブ インターフェースを使用して明示的に Google ドライブに追加する必要があります)
  • 必要に応じて、アップロードまたはダウンロードの速度を制限します
  • ファイルのアップロードまたはダウンロード時に、オプションで ASCII プログレス バーを表示する
  • Auth2 認証


すべてを表示するには、man grive を実行してください インストール後。

アプリケーションは、Google ドキュメントやシンボリック リンクをサポートしていません。また、直接の自動同期 (ファイル システムまたは Google ドライブの変更を継続的に待機し、変更を自動的にアップロードする) もサポートしていませんが、Grive 2 にバンドルされている intify スクリプトと systemd ユニットのおかげで利用できます。

Grive2 をインストールし、Google ドライブ ファイルとローカル フォルダーの自動同期を有効にします

Grive2 のインストールに関する情報は、インストール ページにあります。 後者はかなり古いため、最新バージョンではなく、最新の git コードをダウンロードしてください。

この手順には、自分で Debian パッケージを作成する手順が含まれています (Debian、Ubuntu、Linux Mint、基本 OS、およびその他の DEB / Apt ベースの Linux ディストリビューションで使用できます) Ubuntu またはLinux Mint はこちらから (自動更新が必要な場合は、PPA を追加することもできます)。フォークの名前は Grive2 ですが、バイナリ ファイルの名前は grive のままです 、古い、維持されていないプロジェクトのように。 Ubuntu バージョンの最新の Grive2 ビルドをダウンロードしてください (どちらが新しいかは日付で確認できます)。

Grive2 がインストールされたので、これを使用して Google ドライブ ファイルをローカル ディレクトリに同期し、スケジュールされた同期と、変更が行われたときにファイルを同期する機能を有効にできます。

1. Google ドライブ ファイルを同期するホーム ディレクトリにフォルダを作成します。

ローカルの Google ドライブ フォルダは、ユーザーのホーム ディレクトリに作成する必要があります。そうしないと、自動同期スクリプトが機能しません。 GoogleDrive というフォルダを作成することをお勧めします ファイル マネージャーを使用するか、次のコマンドを入力して、ホーム ディレクトリに移動します。

mkdir ~/GoogleDrive

この記事は、これからこれを使用していることを前提としています。したがって、別のフォルダ名を選択する場合は、以下の手順でこれを変更してください。

2. Grive 2 で Google ドライブを承認し、最初の同期を行います。

Grive2 を初めて実行するときは、 -a で実行する必要があります Google ドライブで承認するための引数。ホーム ディレクトリからコマンド ラインを使用して、新しく作成した GoogleDrive フォルダに移動し、grive -a を実行します。 このフォルダ内:

cd ~/GoogleDrive
grive -a

コマンドラインにリンクが表示されます。このリンクをコピーして Web ブラウザーに貼り付ける必要があります。プロンプトが表示されたら、Grive2 に Google ドライブ ファイルへのアクセス許可を与えることに同意し、次のページに表示されているコードをコピーします。 Grive2 を実行したターミナルに戻り、認証コードを貼り付けて Enter を押します キー。

Grive は、ローカル ファイル システムのフォルダと Google ドライブ ファイルの同期を開始する必要があります。

3. Grive 2 の自動同期を有効にします (スケジュールされた同期 - 5 分ごとに Google ドライブの変更を確認し、ローカル フォルダーと同期し、ローカル ファイルの変更イベントで同期します - 新しいファイルや変更されたファイルを、発生するとすぐにローカル ファイル システムから自動的にアップロードします)。 Google ドライブからローカル フォルダへ。

Grive2 systemd ユニットを有効にして起動するには、次のコマンドを使用します (root として実行しないでください):

systemctl --user enable [email protected]$(systemd-escape GoogleDrive).timer
systemctl --user start [email protected]$(systemd-escape GoogleDrive).timer
systemctl --user enable [email protected]$(systemd-escape GoogleDrive).service
systemctl --user start [email protected]$(systemd-escape GoogleDrive).service


これら 4 つのコマンドのそれぞれの GoogleDrive は、手順 1 でホーム ディレクトリに作成された Google ドライブ フォルダの名前を表します。以外のフォルダ名をお持ちの場合。 GoogleDrive を使用しました 、これらのコマンドで、フォルダーに付けた名前に置き換えます。フォルダーはホーム ディレクトリにある必要があります。そうでない場合は機能しません!

複数の Google ドライブ アカウントを同期する場合は、上記の手順を別のフォルダー名で繰り返すことができます (アカウントごとに別のフォルダーを使用します)。その systemctl を繰り返します Google ドライブと自動的に同期する各フォルダに対する上記のコマンド。

また、Glive2 を使用して Google ドライブと同期する新しい Grive Gtk Indicator である Grive indicator を試してみることもできます。ただし、Grive2 に組み込まれている自動同期機能をサポートしていないようで、代わりに単純なタイマーを使用して特定の間隔でファイルを Google ドライブに同期しているようです。

あなたも興味があるかもしれません:

  • Xfce または MATE デスクトップに Google ドライブをマウントする (Ubuntu、Linux Mint)
  • Rclone を使用して Linux で OneDrive をマウントする方法 (ビジネス アカウントと個人アカウントをサポート)


Debian
  1. Ubuntu 20.04FocalFossaで自動ログインを有効にする方法

  2. LinuxでGoogleドライブを使用する方法

  3. Grive2 –Linux用の代替Googleドライブデスクトップクライアント

  1. UbuntuでGoogleドライブへのファイルバックアップをスケジュールする方法

  2. Ubuntu16.04LTSでGoogleドライブにアクセスする方法

  3. Ubuntu 20.04(Focal Fossa)でGoogleドライブにアクセスする方法

  1. Pleskの自動更新を有効にする方法

  2. Ubuntu20.04で自動更新を有効にする方法

  3. SnowflakeをSnowSQLCLIクライアントに接続する方法