Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxでGoogleドライブやOneDriveをマウントしてクラウドストレージを活用する方法

本記事では、Linux CentOS環境でGoogleドライブやOneDriveといった無料クラウドストレージを接続する方法を解説します。クラウドストレージはデータのバックアップや、複数ホスト間のファイル共有に活用できます。例えば、Windowsデスクトップにクラウドストレージクライアントをインストールしてファイルをアップロードすれば、Linux側から自動的にそのファイルへアクセスできるようになります(逆方向も同様です)。

仮想マシンやコンテナの空き容量が不足した場合にクラウドストレージを活用できることを、知らないWeb管理者やWeb開発者は少なくありません。筆者は、あまり使用しないファイルの保管先として、あるいはWebサイトやMySQL/MariaDBデータベースのバックアップ先として、クラウドストレージの接続をおすすめしています。

本記事では、最も人気のある無料ストレージであるGoogleドライブとOneDriveを、Linux CentOS 7が動作するホストに接続する方法を取り上げます。

GoogleドライブをLinuxのストレージとしてマウントする方法

まず、Linux CentOS 7でGoogleドライブに接続する手順を見ていきましょう。インストールは非常にシンプルで、短時間で完了します。

以下のコマンドでGoogleドライブクライアントをダウンロードします。

# wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg

ダウンロードしたファイルを/usr/sbinへ移動します。

# mv drive /usr/sbin/drive

ファイルのパーミッションを変更します。

# chmod +x /usr/sbin/drive

これでGoogleドライブのインストールは完了です。あとはクライアントを起動してサインインするだけです。

# drive

クライアントが表示する以下のような認証用URLを、PCのブラウザで開き、Googleアカウントへのアクセスを許可してください。

https://accounts.google.com/o/oauth2/auth?client_id=367116221053-7n0vf5akeru7on6o2fjinrecpdoe99eg.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=state

アクセスを許可すると、Linuxコンソールに入力するための認証コードが発行されます。このコードをコンソールに入力すれば接続完了です。

ただし、GoogleドライブはWebDAVプロトコルに対応していないため、独立したファイルシステムやローカルディレクトリとして表示されることはありません。Googleドライブへの操作はdriveクライアントを通じて行います。

Googleドライブ内のファイルは、以下のコマンドで一覧表示できます。

# drive list

ファイルは4つの列からなるテーブル形式で表示されます。

  • Id – ファイルの一意なコード
  • Title – ファイル名
  • Size – ファイルサイズ
  • Created – 作成日時

動作確認として、テストファイルを作成してGoogleドライブにアップロードしてみましょう。

touch testdrive.txt && drive upload --file testdrive.txt

ファイルが作成され、コンソール上に結果が表示されます。GoogleドライブのWebインターフェースにもファイルが反映されていることを確認してください。

なお、Googleドライブでは無料で15GBの容量が提供されています。

以上で、LinuxサーバーへのGoogleドライブの接続は完了です。Googleドライブの利点は、サーバー再起動後にクラウドストレージを再マウントする操作が不要な点です。何度サーバーを再起動しても、Googleドライブには自動的に接続されます。一方で欠点もあります。クラウドストレージがサーバー上の独立したディレクトリとして表示されないため、ファイルシステムレベルや通常のbashコマンドでファイルを管理することができません。

LinuxにOneDriveをマウントする方法

OneDriveはMicrosoftが提供するクラウドストレージです。アカウントをリンクしたすべてのWindows 10ユーザーがデフォルトで利用でき、無料で5GBの容量が提供されます。ここでは、CentOS 7でOneDriveに接続する方法を解説します。設定の過程ではさまざまな問題に遭遇しましたが、いずれも試行錯誤によって解決できます。以下の手順に従って進めてください。

まず、https://onedrive.live.com からアカウント登録を行います。

次に、yumを使ってLinux CentOSに必要なパッケージをインストールします。


# yum groupinstall 'Development Tools' -y
# yum install libcurl-devel -y
# yum install sqlite-devel -y

続いて、プログラミング言語D(dlang)をインストールします。OneDriveクライアントのビルドに必要です。

# curl -fsS https://dlang.org/install.sh | bash -s dmd

D(dlang)を有効化するには、以下のコマンドを実行します。

source ~/dlang/dmd-2.088.0/activate ※環境によってdmdのバージョンは異なるため、インストールされているバージョンを指定してください。

dlangの有効化後、OneDriveクライアントをインストールします。

cd /opt
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure
make clean; make;
sudo make install

インストールが完了したら、OneDriveのWeb版でクライアントを認証します。以下のコマンドを実行してください。

onedrive

システムがブラウザで開くべきURLを表示します。アクセス許可のWebフォームで「許可(Allow)」をクリックすると、URLが認証コードを含む一意のリンクに変化するので、そのコードをLinuxコンソールに入力します。

Authorize this app visiting:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxx
Enter the response uri https://login.microsoftonline.com/common/oauth2/nativeclient?code=xxxxxx

認証が完了すると、OneDriveクラウドストレージと同期できるようになります。

# onedrive --synchronize

Initializing the Synchronization Engine ...
Syncing changes from OneDrive ...
Processing 6 changes
Creating directory: Pictures
Creating directory: Documents
Downloading file Getting started with OneDrive.pdf ... done.
Creating directory: backup
Downloading file backup/test.txt ... done.

デフォルトでは、クラウドストレージのすべてのフォルダを含む/root/OneDriveディレクトリがLinuxホスト上に作成されます。

# ls -la /root/OneDrive/

動作確認として、test2.txtというファイルを作成してストレージを同期してみます。

# onedrive --synchronize

Initializing the Synchronization Engine ...
Syncing changes from OneDrive ...
Uploading new file ./backup/test2.txt ... done.

ファイルがOneDriveクラウドにアップロードされました。

デフォルトの同期ディレクトリを変更したい場合は、設定ファイル内のsync_dirパラメータを変更し、以下のコマンドを実行します。

# onedrive --synchronize --resync

Initializing the Synchronization Engine ...
Syncing changes from OneDrive ...
Processing 12 changes

サーバーを再起動しても、OneDriveクライアントは自動的に起動し、再度サインインする必要はありません。

次回の記事では、クラウドストレージを使ってLinuxサーバーからデータをバックアップする方法を解説します。

  1. MacでGoogleドライブをアンインストールする2つの方法|削除できないときの対処法

    MacでGoogleドライブをアンインストールする2つの方法|削除できないときの対処法一部のMacユーザーは、Googleドライブをパソコンから削除しようとする際に、思わぬトラブルに直面することがあります。Google公式サイトの手順に従っても、アンインストールがうまく完了しないケースも少なくありません。同じような問題を抱えていて、MacからGoogleドライブを削除できない場合は、以下で紹介する方法をお試しください。方法1:通常の手順でGoogleドライブを削除するまず、画面右上のメニューバーにあるGoogleドライブのアイコンをクリックします。ドロップダウンメニューから「環境設定(Pref

  2. GoogleドライブをMacにマウントする方法【CloudMounter活用ガイド】

    Googleドライブは、無料で利用できるクラウドストレージサービスです。ファイルをサーバー上に保存し、複数のデバイス間で同期したり、他のユーザーと簡単に共有したりできます。他のクラウドストレージと同様に、その主な目的はハードディスクの容量制限を超えてストレージを拡張することです。Googleドライブは15GBの無料容量を提供しており、ファイルやフォルダごとにプライバシー設定を変更することも可能です。しかし、Googleドライブには使いにくい点もあります。Googleドライブ上のファイルを閲覧・編集するには、毎回Googleアカウントにサインインする必要があります。ローカルドライブのように利用し