LinuxでGoogle Driveにファイルをバックアップする方法

Gdfuse Featured Image

Google Driveは、オンラインコピーのファイルを保存したい人にとって優れた手段です。Linuxユーザーは、重要な設定ファイルをバックアップするために、無料の15GBプランを活用できます。さらに、アクティブなGoogle Workspace(旧G-Suite)プランを持っている場合、大量のデータ、メディアファイルをバックアップすることも可能です。このガイドでは、オープンソースパッケージgoogle-drive-ocamlfuseとCRONを使用して、自動的にLinuxのファイルをGoogle Driveにバックアップする方法を説明します。

関連記事: Googleストレージの残量を確認する方法

google-drive-ocamlfuseとは?

google-drive-ocamlfuseは、ユーザーがローカルマシンにGoogle DriveストレージをマウントできるFUSEファイルシステムです。OCamlで書かれており、GitHubを通じて自由に入手できます。主な機能には、完全な読み書きアクセス、複数アカウントのサポート、Unixの権限、チームドライブのサポートが含まれます。

自動バックアップに使用する方法

最初のステップは、リモートGoogle Driveをローカルファイルシステムにマウントすることです。これがgoogle-drive-ocamlfuseの活躍する場面です。次に、定期的にファイルをドライブに転送する自動スケジューラーを使用できます。これを簡素化するために、LinuxのCRONユーティリティを使用してスケジューリングプロセスを管理します。(CronジョブをスケジュールするためにZeitを使用することもできます。)

関連記事: Linuxでハードドライブ全体をクローンする4つの方法

google-drive-ocamlfuseのインストールと設定

まず、Linuxマシンにgoogle-drive-ocamlfuseをインストールする必要があります。幸いにも、非常に簡単です。ターミナルを起動し、プロンプトに次のコマンドを入力します。

sudo add-apt-repository ppa:alessandro-strada/ppa

adding gdfuse ppa

これにより、必要なパッケージがパッケージマネージャのリポジトリリストに追加されます。次のコマンドを使用してパッケージをインストールできます。

# Debian/Ubuntu  
sudo apt update && sudo apt install google-drive-ocamlfuse  
  
# Fedora  
sudo dnf copr enable sergiomb/google-drive-ocamlfuse  
sudo dnf install google-drive-ocamlfuse  
  
# Arch  
yay -S google-drive-ocamlfuse

installing gdfuse

インストールが完了するまで待ちます。完了したら、マウントのために設定する必要があります。最初のステップは、ローカルファイルシステムにGoogle Driveのマウントポイントを作成することです。ターミナルに以下のコマンドを入力して作成できます。

mkdir -p ~/mount/google-drive

creating mount point to store backup files to google drive

次に、次のコマンドでドライブストレージをマウントします。

google-drive-ocamlfuse ~/mount/google-drive

mounting google drive

google-drive-ocamlfuseは、デフォルトのブラウザを開いてGoogle Driveのアカウント認証ページにリダイレクトします。ローカルにマウントしたいアカウントを選択します。

selecting drive account

選択したアカウントのパスワードを入力して認証します。

authenticating google account

次に、Googleはgoogle-drive-ocamlfuseにアクセス許可を付与するよう要求します。「許可」ボタンをクリックし、次のページに進みます。

allowing gdfuse access to store backup files to google drive

さらにもう一度、ユーザーアカウントへのアクセスを許可する必要があります。

allowing account access

許可を与えると、google-drive-ocamlfuseのウェブページにリダイレクトされます。おめでとうございます、Google Driveアカウントをローカルファイルシステムにマウントすることに成功しました。

completed mount

ここで、Google Driveのマウントプロセスがスムーズに進行したかどうかを確認するのが良いでしょう。この段階でエラーが出た場合、ファイルをGoogle Driveにバックアップすることはできません。以下のコマンドを使用して確認します。

ls -l ~/mount/google-drive/

checking mount status

出力には、Google Driveストレージに存在するファイルとディレクトリのリストが表示されるはずです。すべてが期待通りに進めば、バックアップスケジューラーの設定を進めることができます。

関連記事: コンピュータのバックアップにTimeshiftを使用すべき理由

CRONを使用してGoogle Driveにファイルをバックアップする

バックアップとは、単なるコピー操作に過ぎません。すでにGoogle Driveはマウントされているので、ローカルファイルシステムの一部としてファイルをコピーできます。以下のコマンドを実行して確認できます。

touch test-file  
cp test-file ~/mount/google-drive/

テストファイルがドライブストレージにコピーされるはずです。lsコマンドを使って、Google Driveに正常にコピーされたかどうかを確認します。

ls ~/mount/google-drive/

testing backup files to google drive using gdfuse

すべてが整ったので、バックアッププロセスを自動化するためにcronを設定します。すでに知らない方のために、cronは特定のコマンドを定期的に実行させるスケジューラーです。どのコマンドを実行するか、いつ実行するかをcrontabを使用して指定できます。詳細はこちらで確認できます。

次のcrontabエントリを使用して、毎日00:00に“/tmp”フォルダの内容をGoogle Driveにコピーします。

0 0 * * * cp /tmp/* ~/mount/google-drive/

一週間に1回バックアップしたい場合は、次のcrontabエントリを使用します。

0 0 * * 0 cp /tmp/* ~/mount/google-drive/

これにより、毎週日曜日の00:00に“/tmp”の内容がドライブストレージにコピーされます。個人ファイルを含むディレクトリを“/tmp”に置き換えてください。しかし、最後に注意すべきステップがあります。上記のcrontabエントリでは、Google Driveを自動的にマウントしません。このすばやい解決策は、別のcrontabエントリを使用してドライブストレージをマウントし、その後にバックアップ用のエントリを続けることです。

5 0 * * * google-drive-ocamlfuse ~/mount/google-drive  
0 0 * * * cp /tmp/* ~/mount/google-drive/

このように、ドライブを5分早くマウントしています。これにより、cronが初期化の問題でバックアッププロセスを逃すことがないようにするための十分な時間が確保されます。以下のコマンドを使用してcrontabを編集し、上記の行を追加します。

crontab entries for storing backup files to google drive

まとめ

google-drive-ocamlfuseとcronを使用してGoogle Driveにファイルをバックアップする簡単な方法を紹介しました。別の方法として、Gnomeを使用している場合は、デスクトップにGoogleを接続してGoogle Driveをシステムにマウントすることも容易です。また、他のcronの代替案や、cronの代わりにsystemdタイマーを使用することも検討できます。

ヒント: これらのGoogle Driveのショートカットキーを使用して、日常業務をパワーアップしましょう。