Blogブログ

rcloneを使ってみた

こんにちは、無人機担当エンジニアの筑紫です。

無人機では、よくログの調査を行う機会があります。

先日もお客様の決済関係の確認で、ログの調査のご依頼があったのですが、その調査対象が1ヶ月以上前のものでした。

ところが、無人機では容量圧迫を避けるため基本的に1ヶ月ごとにログを上書きしています。

さて困った、どうしたものか。。。

色々足掻いた結果、今回はたまたま基幹システム側に残っていた履歴から確認できる内容だったので、何とか対応できました。よかった。

しかし、今後も同じようなご依頼が無いとも限りません。

という事で、こんな事態に備えてrcloneでクラウドストレージにログのバックアップを残すことになりました。

rcloneとは

rclone とは “rsync for cloud storage” という意味だそうです。

rsyncはファイルやディレクトリの同期を行うコマンドですね。

つまりそれと同じようなことをクラウドストレージでできちゃうというわけですね。

対応しているクラウドストレージもたくさんありますので、とても便利だと思います。

rcloneのセットアップ

今回はGoogleDriveにバックアップをおこなう形で設定しました。

まず、GoogleDriveへのアクセスのため、GoogleのAPI ConsoleからOAuthクライアントIDの作成をおこないました。
(クライアントIDとクライアントシークレットを控えておきます)

次に、こちら https://rclone.org/downloads/ から実行環境に対応したバージョンのzipファイルをダウンロードし、展開。

管理者権限でコマンドプロンプトを開き、展開したディレクトリで下記コマンドを実行することで初期設定が始まります。

$ rclone config

初期設定は色々聞かれたことに答えていくだけなので、さほど難しくはありませんでした。

  • 名称
  • ストレージの種類
  • クライアントID
  • クライアントシークレット
  • アクセス権
  • ルートフォルダのID
  • 認証情報JSONファイルのパス
  • 詳細設定をするか
  • 自動認証の可否
  • チームかどうか

ストレージにGoogleDriveを選択した場合は、このような流れでした。

これらの設定が完了すれば、rcloneコマンドでGoogleDriveにコピーが可能になります。

例えば、初期設定で名称をnamaeとした場合

$ rclone copy ./hoge.txt namae:

これでマイドライブのルートディレクトリにコピー。

–drive-shared-with-meオプションを付けることで、共有フォルダ(share)へのコピーになります。

$ rclone –drive-shared-with-me copy ./hoge.txt namae:share/

これらをバッチファイルにしてスケジューラで自動実行してやれば、ファイルを定期的にバックアップできるという寸法ですね。

まぁ、多少設定の手間はありますが、備えあれば憂いなしという事で。

それでは、また。

筑紫

執筆者

Developer

筑紫