ラズパイでクラウドストレージサービスと連携(box.comの場合)

公式Raspberry Pi OS

Raspberry PiでNASを構築する方法はいくつかあります。外付けのHDDを認識させ、単にsambaを動かすだけでも簡易的なNASになります。もちろん、全て入ったパッケージであるOMVなどで構築する方法がベターでしょう。

今回は、より簡単にクラウドストレージサービスと連携できるRclone をご紹介します。
ちょっとマイナー?なbox.comとの連携方法です。

Rclone の役割

クラウドストレージサービスとやり取りするための中間アプリケーションです。sambaみたいなもので、Raspberry Piにあるローカルのファイルを、登録したクラウドストレージサービスにコピーしたり、その逆である取り出してコピーしたりできます。

どちらかというと、Raspberry Piにあるファイルをバックアップする目的で使用したい人が多いでしょう。

これも考え方によって、外出先からスマホで撮影した写真を、その場boxにアップロードすれば、定期的にそのboxからRaspberry Piのストレージにコピー保存することも自動的に可能になります。

結果的にスマホからRaspberry Piへコピーしているような仕組みが出来ます。

先程のようにRaspberry Piを起点にコピーする場合は、外出先でbox内のファイルを見せる・使うことも可能ですから、持ち出し鞄みたいに使えます。

このような仕組みはiPhoneは以前から活用している人も多いでしょう。iPhoneで撮影した画像も自宅のmacで確認できたり、iPadなどでも同期できていたり、そういう使い方がRaspberry Piを介してできるというわけです。

便利ですよね?

対応しているクラウド

RcloneはGoogleドライブ、AmazonS3などの有名なクラウドドライブサービスとも連携が可能です。対応しているサービスはたくさんあります。

ただ、すべてそのまま簡単に連携できるとは限りません。セキュリティが高くなった現在では設定が少し厄介です。認証させないとならないからです。

rcloneの公式サイトにはそれぞれのサービスの解説記事が載っています。すべて異なりますので確認が必要です。

冒頭のように今回はbox.comで進めていきます。

インストール方法

Raspbian Busterのデスクトップ環境で実行しています。ssh経由ではなく、実際にディスプレイとキーボードとマウスを接続したRaspberry Piを操作している前提です。

次のコマンドcurlでインストールします。

curl https://rclone.org/install.sh | sudo bash

設定は以下コマンドから対話式で実行します。

rclone config

n) New remote
s) Set configuration password
q) Quit config

初めてなら、Newの「n」

名前を聞かれたら任意で付けてください。後にフォルダにも関係するので分かり易い方がいいでしょう。

name> box (任意)

リモートストレージサービスを選択するため、ズラズラと出てきます。

 1 / 1Fichier
   \ "fichier"
 2 / Alias for an existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Citrix Sharefile
   \ "sharefile"
 9 / Dropbox
   \ "dropbox"
10 / Encrypt/Decrypt a remote
   \ "crypt"
11 / FTP Connection
   \ "ftp"
12 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
13 / Google Drive
   \ "drive"
14 / Google Photos
   \ "google photos"
15 / Hubic
   \ "hubic"
16 / In memory object storage system.
   \ "memory"
17 / JottaCloud
   \ "jottacloud"
18 / Koofr
   \ "koofr"
19 / Local Disk
   \ "local"
20 / Mail.ru Cloud
   \ "mailru"
21 / Mega
   \ "mega"
22 / Microsoft Azure Blob Storage
   \ "azureblob"
23 / Microsoft OneDrive
   \ "onedrive"
24 / OpenDrive
   \ "opendrive"
25 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
26 / Pcloud
   \ "pcloud"
27 / Put.io
   \ "putio"
28 / QingCloud Object Storage
   \ "qingstor"
29 / SSH/SFTP Connection
   \ "sftp"
30 / Sugarsync
   \ "sugarsync"
31 / Transparently chunk/split large files
   \ "chunker"
32 / Union merges the contents of several remotes
   \ "union"
33 / Webdav
   \ "webdav"
34 / Yandex Disk
   \ "yandex"
35 / http Connection
   \ "http"
36 / premiumize.me
   \ "premiumizeme"

6 / Box
\ "box"

今回6番のboxにしますので6と打ちます。

Storage> 6

次はENTERで飛ばします。あとでブラウザからログインします。

  • client_id>
  • client_secret>

次も飛ばせばデフォルトでUSERになりますので良いでしょう。box_sub_type>もそのままENTERで飛ばします。

  • box_config_file>
  • box_sub_type>

拡張の設定はしなくてOKです。n
Edit advanced config? (y/n)
y/n>n

Remote configもコマンドでしているので自動ではなく手動にしますからNOで。

Remote config
Use auto config?
y/n> n

分かりにくい箇所(認証)

そして最後のここは分かりにくいと思います。

For this to work, you will need rclone available on a machine that has a web browser available.
Execute the following on your machine (same rclone version recommended) :
	rclone authorize "box"
Then paste the result below:

このターミナル画面はそのままにして(閉じずに)、

もう一つLXTerminalを開いてください。

そこで「rclone authorize "box"」とコマンドを実行すると、規定のブラウザが立ち上がってboxへのアクセスを許可します。

すると別に立ち上げコマンドを打ったLXTerminalの端末画面に、コードが表示されます。

このキャプチャ画面ではモザイク処理してしますけど、{"access_token〜をこの場合は3行分コピーして、先程のboxを設定していたLXTerminal画面にペーストしてください。

先程のLXTerminalには、Then paste the result below:で止まっていましたよね。

すると設定が完了します。初めのメニュー構成に戻ります。

rcloneの利用コマンド例

すべてはご紹介できません。単純にフォルダ同期する例をご紹介します。詳しくは記事最下部にある公式サイトをご覧ください。

基本のコマンドと指定方法

lsコマンドと同じで、lsdというのはフォルダのみ一覧で表示します。

rclone lsd remote:

こちらはフォルダ内のファイルも含めてファイル単位で一覧に表示します。

rclone lsd remote:

copyコマンドです。転送元と転送先の順番に気をつけてください。

rclone copy 転送元 転送先(例:box:backup)

syncコマンドは同期になりますが、一方通行なので気をつけてください。以下の例はboxにあるフォルダをローカルのboxフォルダに同期コピーしています。

rclone sync 転送元(例:box:backup) 転送先(例:/home/pi/box)

boxに"私の Box Notes"のフォルダを指定する場合

box:"私の Box Notes"

ちなみに、この"私の Box Notes"には、先程のトークン情報ファイルのメモが入っていました。

テスト同期のオプション

これ大事です! 最初は必ず付けてくださいね。誤ってファイルを削除しかねません。それも全部?!

オプションは2つでセットです。

--dry --run

rclone sync 転送元(例:box:backup) 転送先(例:/home/pi/box)--dry --run

メッセージを確認して何がどこへコピーされたか確認してください。この際、実際にはコピーされていませんので安心してください。

その後にオプションを外して実行します。

ヒント

フォルダを用意した方が分かり易いので、dataなど適当なフォルダを/home/piにでも作りましょう。

sudo mkdir data
sudo chmod 777 ./data

権限も与えてあげないと同期(コピー)する際にパーミッションエラーが出ます。

このフォルダと同期してあげると分かり易いと思います。

cronで定期的に実行

ここは定期的に実行するためにcronに記述すると自動的にコピーできます。

sudo vi /etc/crontab

#追記
0 3    * * * pi     rclone sync data box:pi-data

これは午前3時の丑三つ時にpiユーザーがrclone sync を実行する例です。dataフォルダの中身をboxサービスのpi-dataフォルダへ同期コピーするという意味です。

cronについては色々と細かくありますので、ここでは省きます。

まとめ

Googleドライブのネタはいくつかあったので、マイナー?なbox.comのクラウドサービスをご紹介しました。

rcloneを使って定期的にバックアップが取れるのは便利です。例えば、写真・画像のバックアップは皆思うでしょう。

Raspberry Pi だと、何かを計測したデータのテキストをクラウドスペースにアップロードして、それを外出先から確認することでルーターのポート開放も要りません。

個人で使うのに、あまり大きなファイル転送や仕組みはセキュリティとしても危険です。上手く活用してください。

ただ、制限があります。boxではリフレッシュトークンが有効なのが60日間、また、あまり早いタイミングでファイルが転送できない、となっています。

バックアップ目的で利用するため、定期的なバックアップになるかと思います。そうなると、2ヶ月間も一度もアクセスしないことは意味がないので、毎週のように実行していれば有効期限が訪れることは例外以外にはありません。

リフレッシュトークンなのでアクセストークンとは別です。リフレッシュトークンは一般的に更新すれば継続して同じトークンファイルを使えますが、アクセストークンは一般的には短く数分〜数十分です。

ファイル転送の速度は、あまりにも速いタイミングでなければ気にする必要はありません。テストで何度も試すとなると、上手くいかないことに気が付きますが、これは連続で転送を実施しているからです。数分毎でもファイルの大きさによっては問題ありません。

これらの期間はクラウドサービスによっても異なると思いますので、公式サイトを参考にしてください。

Rclone公式boxのページhttps://rclone.org/box/

boxhttps://www.box.com/ja-jp/home

ラズパイダ

ラズパイダ

学べる楽しむ便利になる。小さいくせにヤケにパワフル。そんなRaspberry Pi をまだ知らない人に伝えたい。様々な場所で利用されているRaspberry Pi を知って「あっ、これもラズパイだっ!」だからラズパイダ!

関連記事

特集記事

コメント

この記事へのコメントはありません。

最近の記事 はじめて向け
  1. キーワード”ラズパイダ”をGoogleで検索しないでねって話

  2. ラズベリーパイは小さなホームサーバーに最適、自分好みはプライスレスな4選

  3. あのMX LinuxがRaspberry Pi 向けイメージMXFBPをリリース

  4. OMV5のアップデートエラー回避

  5. Raspberry Pi Pico マイコンボード、僅か4ドルで登場

  1. お掃除ルンバのアイロボットから教育用ロボット「Root」発表

  2. 【初心者向け】Raspberry Pi 4との接続方法(電源、HDMI)

  3. 【初心者向け】はじめてRaspberry Pi OS をダウンロードする人へ

おすすめの記事

  1. TwisterOSで懐かしのWindows、最新macOSの見た目でラズパイを使う

  2. あのMX LinuxがRaspberry Pi 向けイメージMXFBPをリリース

  3. 非公式のLinuxディストリビューション〜Raspberry Pi で動く様々なOS一覧まとめ13種類!

  4. ラズパイ4にも対応している軽量でクールなOS「Manjaro」はアリ

  5. Raspberry Pi とLibreELEC9.0で作るAmazonプライム・ビデオプレイヤー

  6. ラズパイで実用的な物を作るなら特化したOSから始めてみよう

今月の人気記事

  1. 1

    Raspberry Pi で動く様々なOS一覧まとめ13種類!

  2. 2

    ラズパイ4をUSB接続のSSDから起動する方法(USBブート)

  3. 3

    初心者でもラズパイでNASサーバーを作ってみよう!

  4. 4

    Raspbian のWi-Fi設定(Raspberry Pi 初期設定)

  5. 5

    Raspberry Pi 4の初期設定2020年版

  6. 6

    Raspberry Pi 4を起動したのにモニターに画面が映らない対処法

  7. 7

    ラズパイ4とOMV5(openmediavault5)で作る自宅NASサーバーの設定方法

  8. 8

    ラズパイ4はPCライクな性能になったけどPCではないよという話

  9. 9

    Raspberry Pi 4のOSをデスクトップPCとして使うためにUbuntuMATEをインストールしてみた

  10. 10

    ラズパイで使うmicroSDカードの選び方

記事ランキングページ

TOP