今まではGoogle Driveに一時的ないつ消えてもいいようなファイルしか置いてなかったのですが、Mac OSの音楽ファイルの保管場所としたので、定期的なバックアップが必要となりました。まあ、Mac OSでGoogle Dvriveアプリを起動しておけば、いつでもローカルと同じようにアクセスできるので、気の向いたときにダウンロードコピーすればいいのですが、やっぱりファイルサーバーへ定期的に自動で行いたいですよね。ということで家内のファイルサーバーとして稼働しているUbuntu 20.04からのマウント方法を探しました。
ネットを検索するとLinuxでGoogle Driveのマウントをやっている人は多くて情報が山ほど出てきます。先人の方々に感謝。基本的には、google-drive-ocamlfuseの導入で大丈夫とのこと。
インストールはgoogle-drive-ocamlfuseのリポジトリを登録してaptでインストールするのみです。
次に接続実行ですが、GNOMEなどのX Window環境ならば最初のgoogle-drive-ocamlfuseコマンド起動時にブラウザが起動してGoogleアカウントでログオンしてGoogle Driveへのアクセス認証が得られるのですが、うちのUbuntuサーバーはコマンド入力のみのCUI環境でブラウザが実行できません。この場合でも解決してくれていまして、デフォルトアプリを起動するコマンド、xdg-openを以下のようにshスクリプトとして作成。
#!/bin/bash
echo $* > /dev/stderr
このファイルの場所は$PATHの最初のほうがいいので、うちの環境ではホーム以下のbinディレクトリに保存しました。基本Window環境がないUbuntuではxdg-openコマンドはインストールされていないため$PATHが通っていればどこに置いてもいいはずです。そしてファイルのパーミッションを実行許可にしておきましょう。
これでgoogle-drive-ocamlfuseを実行すると、スクリプトが実行されてコンソールに長いURLが出力されますので、それをコピーして他のマシンのブラウザでアクセスして認証完了です。そのあとUbuntuのほうでマウントポイントを指定して
$ google-drive-ocamlfuse ~/GoogleDrive
などと実行すれば、~/GoogleDriveにマウントできます。
あとはこのディレクトリをローカルにコピーするようなcronを作成して希望する定期的なバックアップが可能となりました。
ちなみにアンマウントのコマンドは
$ fusermount -u ~/GoogleDrive
になります。