こんにちは、ふじみやです。
以前、Linux で運用しているマインクラフトサーバーのデータを AWS CLI というサービスを利用してコマンドラインから AWSのオンラインストレージサービスである Amazon S3 にバックアップデータをアップロードする方法についてご紹介をしました。
しかしながら、Amazon S3 に保存されているファイルの一覧などを GUI で確認しようと思ったら AWS の Web コンソールに接続する必要があるなど、手間に感じてしまうこともあります。
そこで、今回は Rclone というオープンソースソフトウェアを使って Windows やスマホのアプリにもある Google Drive にデータを転送できるようにしていきます。
Rclone とは
Rclone は 40以上のオンラインストレージについて、コマンドライン環境よりファイルの操作ができるようになるオープンソースソフトウェアです。今回連携する Google Drive のほかにも Amazon S3 や Dropbox、Microsoft OneDrive などとも連携できます。
Rclone を使うことでオンラインストレージに対して以下が可能になります。
- ファイルのコピー
- フォルダの同期
- ローカルからオンラインストレージへとファイルの移動
- オンラインストレージをネットワークドライブとしてローカルにマウント
Rclone のインストール
次のコマンドを入力して Linux に Rclone をインストールしましょう。
curl <https://rclone.org/install.sh> | sudo bash
これはインストール用のスクリプトをダウンロードして、bashでスクリプトの実行をするという意味です。コマンドの間を |(パイプ)でつなぐことで curl コマンドの実行結果を bash コマンドの引数とするというものですね。
この点については過去記事にしたこともありますのでお時間がございましたら是非ご覧ください。
Rclone の設定
Rclone の設定は対象の Linux に SSH 接続をしたターミナルからではなく、GUI 環境(リモートデスクトップ接続など)で操作をしましょう。VPS を利用されている方は Chrome リモートデスクトップを利用すると簡単に GUI 環境に接続することができます。
それでは設定をしていきましょう。
設定種類の選択
まずは以下のコマンドを入力してください。
rclone config
すると「リモートが見つかりません。新しく作成しますか?」と聞かれますので「n」を入力後 ENTERキーを押下。
名称の設定
連携するオンラインストレージの名前を入力します。今後、Linux からデータを転送する際に使用する名前になりますので、あまり長くないほうが良いかと思います。今回は「remote」としました。
連携するオンラインストレージの選択
名称を設定すると、ずらっと緑と赤の文字がたくさん出てきます。スクロールをしてみれば分かりますが、これらは全てオンラインストレージのサービス名ですので「Google Drive」を示す番号である 18 を入力しましょう。
番号が異なっている可能性がありますので、必ず内容をチェックしましょう。
クライアントID・クライアントシークレット
これらは必須項目ではありませんので、今回は何も入力せずに ENTER キーを押下します。
権限設定
オンラインストレージにアクセスをする際の権限設定をしましょう。
今回は Linux のファイルを転送したり、場合によっては Google Drive からファイルをダウンロードする可能性もありますので「1」を選択します。
サービスアカウント認証用ファイル
対話型のログインではなくサービスアカウントを利用する場合のみ、サービスアカウント認証用の JSON ファイルのパスを指定しますが、何も入力せずに次に進みます。
高度な設定
こちらはデフォルトとして推奨されている「No」を選択します。
Rclone の認証
Web ブラウザを通じて連携先サービスの認証をします。「y」を入力すると認証用のブラウザが起動します(起動しなければリンクが表示されるので URL をクリックしましょう)ので、認証をしましょう。
認証が成功すると次のような画面に切り替わりますので、ブラウザを閉じてください。
共有ドライブの設定
今回は個人用のドライブですので、ここは「n」と入力します。
設定の確認
確認が求められますので「y」と入力しましょう。
設定終了
これで設定は完了しましたので、最後に「q」を入力して設定を終了しましょう。
Rclone のテスト
Rclone の設定が完了したら、Linux 上に適当にファイルを作成して Google Drive に転送できるかテストをしてみましょう。
まずはファイルを作成。touch
コマンドで空のファイルを作成します。
touch test.txt
次にrclone
コマンドでファイルをオンラインストレージにコピーします。
rclone copy test.txt remote:/
remote
は先ほど設定したオンラインストレージの名称を入力するようにしてください。
また、remote:
のあとはファイルのコピー先となるフォルダのパスを入力してください。/
だけだとルートフォルダ(Google Drive を開いて最初に表示されるフォルダ)に保存という意味になります。
コマンド入力後、Google Drive を開いてtest.txt
が保存されていればテスト完了です。
まとめ
Rclone を利用した Google Drive との連携では、クラウドサービスなどにありがちな複雑な権限設定を行う必要がありません。
ですので、やり方さえ分かっていれば5分もあれば連携が完了します。私はrclone config
を SSH 接続したターミナルから行ってしまったため、うまく認証ができず時間がかかってしまいましたが。。
とはいえ、連携ができてしまえば、バックアップデータの保存状況などがスマホからでもすぐに確認できて非常に便利ですので色々なデータの保管庫として Google Drive を活用していこうと思います。
皆さんもぜひ試して見てください。
それではまた。
コメント