Linuxサーバーは強力で柔軟性に優れています。最新のGUIを使えば、操作は概して非常にシンプルで分かりやすいです。例えば、Amazon Drive、Dropbox、Google Cloud Storage、Google Drive、Microsoft Azure Blob Storage、Wasabiなどのクラウドアカウントとサーバーを同期するプロセスを考えてみましょう。Cloudberry BackupなどのGUIツールは、グラフィカルなフロントエンドでこのタスクを非常に効率的に処理します。
しかし、サーバーにデスクトップ環境がない場合はどうすればいいでしょうか?ターミナルのみのLinuxサーバーでも問題ありません。rcloneを使えば、数々のクラウドサービス間でファイルやディレクトリを同期できます。では、rcloneをインストールして動作させるにはどうすればいいのでしょうか?その手順を詳しく説明します。
新しくインストールした Ubuntu 16.04 サーバーでデモンストレーションを行い、それを Google Drive アカウントに接続します。
インストール
rcloneは標準リポジトリには存在しません。必要なファイルをダウンロードして、そこからインストールする必要があります。手順は以下のとおりです。
- ターミナルウィンドウを開く
- コマンドcurl -O curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip を実行します。
- unzip rclone-current-linux-amd64.zipコマンドで zip ファイルを解凍します。
- cd rclone-*-linux-amd64コマンドで新しく作成したディレクトリに移動します。
次に、以下の手順に従って、含まれているバイナリ ファイルを適切なディレクトリにコピーし、適切な権限を付与する必要があります。
- sudo cp rclone /usr/bin/コマンドでバイナリファイルをコピーします。
- sudo chown root:root /usr/bin/rcloneコマンドでバイナリファイルの所有権を変更します。
- sudo chmod 755 /usr/bin/rcloneコマンドでバイナリファイルの権限を変更します。
この時点で、任意のディレクトリ内から rclone コマンドを発行できます。
参照: Linux のセキュリティ保護ポリシー (Tech Pro Research)
rcloneの設定
次に、クラウドサービスと連携できるようにrcloneを設定する必要があります。このプロセスを開始するコマンドはrclone configです。初回実行時に、新しいリモートを作成するように求められます(図A)。
図A

「n」と入力し、キーボードのEnterキーを押します。新しいリモコンに名前を付け、キーボードのEnterキーを押します。すると、リモコンの種類を選択するように求められます(図B)。
図B

Googleドライブのリモートを作成するので、キーボードで9と入力してEnterキーを押します。すると、いくつか質問が表示されます。最初の質問はclient_id>です。これは何も入力せずにEnterキーを押します。2番目の質問はclient_secret>です。これも何も入力せずにそのままにしておきます。
ヘッドレスサーバーにインストールするため、「自動設定」オプションで「n」と入力してください。リンクが表示されます。そのリンクをコピーし、デスクトップブラウザに貼り付けてください。次に、使用するGoogleアカウントを選択するように求められます。アクセスを許可すると、アクセスコードが表示されます。そのコードをコピーし、ヘッドレスサーバーのターミナルプロンプトに貼り付けてください。
最後に、このリモコンをチームドライブとして設定するかどうかを尋ねられます。「n」と入力し、キーボードのEnterキーを押します。最後に「y」と入力して設定を承認します。その後、リモコンの情報を保護するために設定パスワードを設定できます。設定パスワードの設定を強くお勧めします。「s」と入力し、キーボードのEnterキーを押します。プロンプトが表示されたら、設定用のパスワードを入力して確認します。
「q」と入力すると設定メニューが終了し、メインメニューに戻ります。リモコンがリストに表示されます(図C)。
図C

参照: サーバーの展開/移行チェックリスト (TechRepublic)
使用法
次のコマンドでリモート ディレクトリのリストを取得できます。
rclone lsd 'Google Drive':
リモート上のすべてのファイルを一覧表示するには、コマンドは次のようになります。
rclone ls 'Google Drive':
ローカル ディレクトリをリモートのフォルダ (この場合は Google ドライブ) にコピーするには、コマンドは次のようになります。
rclone copy /PATH/TO/DIRECTORY remote:FOLDER
/PATH/TO/DIRECTORY はローカルディレクトリ、 FOLDER はGoogleドライブ上のフォルダ名です。例えば、ローカルフォルダ /home/jack/data をGoogleドライブリモート上のフォルダ data にコピーしたいとします。この場合のコマンドは以下のようになります。
rclone copy /home/jack/data 'Google Drive':data
ディレクトリは Google ドライブのデータ フォルダにコピーされます。
これがrcloneの基本です。さらに詳しい情報が必要な場合は、以下のコマンド(rcloneインストールディレクトリ内から実行)を使ってrcloneのマニュアルページをインストールしてください。
sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb
これで、コマンドman rclone を発行して、使用可能なコマンドライン オプションのすべてを読むことができます。
柔軟な同期ソリューション
ヘッドレスLinuxサーバーにクラウド同期ソリューションがなくても問題ありません。rcloneの使用は、他のGUIツールほど簡単ではないかもしれませんが、ヘッドレスLinuxサーバーを多数のクラウドサービスと同期させることができます。rcloneを試してみて、使い勝手が良ければ試してみてください。
