kopug memo

名古屋で働くとあるWebエンジニアの覚書。

Amazon Drive を CentOS6 から FUSE mountして使う

最近 Google フォト から Amazon プライムフォトに切り替えたところでしたが、Unlimitedストレージ(容量無制限)にプランを変更したので、そちらを活用するために、自宅のNAS(CentOS6)のバックアップ用途として使うことにしたので、その備忘録を載せます。

f:id:kopug:20170513175449p:plain https://www.amazon.co.jp/clouddrive/home

プライムフォトは写真データであれば、Amazonプライム加入者であれば容量無制限(RAWデータ含む)で使うことができるので重宝していました。 Unlimitedストレージは年間\13,800円で利用でき、他クラウドストレージと比べても格安になります。 (米国Amazonだと$59.99/年なので、費用重視する場合はそちらも検討してみてください)

それでは実際に設定をしていきます。

必要なパッケージのインストール

$ sudo yum install epel-release
$ sudo yum install python34 python34-setuptools git fuse fuse-python
$ sudo easy_install-3.4 pip

acd_cli のインストール

$ sudo pip3 install --upgrade git+https://github.com/yadayada/acd_cli.git

acd_cli の設定

$ sudo su -
# acd_cli -v init
17-05-13 20:17:52.829 [INFO] [acd_cli] - Plugin leaf classes: TestPlugin
17-05-13 20:17:52.829 [INFO] [acd_cli] - TestPlugin attached.
17-05-13 20:17:52.829 [INFO] [acd_cli] - Settings path is "/root/.config/acd_cli".
17-05-13 20:17:52.829 [INFO] [acd_cli] - Cache path is "/root/.cache/acd_cli".
17-05-13 20:17:52.836 [INFO] [acdcli.api.client] - Initializing ACD with path "/root/.cache/acd_cli".
For the one-time authentication a browser (tab) will be opened at https://tensile-runway-92512.appspot.com/.
Please accept the request and save the plaintext response data into a file called "oauth_data" in the directory "/root/.cache/acd_cli".
Press a key to open a browser.

上記の指示通りのURLにアクセスをして、oauthの情報ファイル(中身はJSON)をダウンロードし、指定のフォルダ(ここでは/root/.cache/acd_cli/oauth_data)に保存します。 保存が完了したら enterキーを押して先に進んでチェックを完了させておしまいです。

自動マウントできるように

マウント先のフォルダを適当に作ります。

# mkdir /mnt/amazon

スクリプトの作成

# vim /usr/local/bin/acdmount
#! /bin/sh

acd_cli mount -ao $1
# chmod 755 /usr/local/bin/acdmount

/etc/fstabに以下を追加

acdmount  /mnt/amazon  fuse  _netdev  0 0

これでネットワーク接続がある場合に、自動でマウントされます。 今回は初回なので手動でマウントをします。

# mount /mnt/amazon

定期的にsyncを実行させる

これで利用できる状態になっていますが、他のデバイス等から Amazon Drive が更新されている場合に、データ同期がされないので以下のコマンドを定期的に実行する必要があります。

# acd_cli sync

NASのバックアップが主目的なので、1時間に1回 cronで実行するようにしておきます。

vim /etc/cron.hourly/acd_sync
#! /bin/sh

acd_cli sync
# chmod 755 /etc/cron.hourly/acd_sync

最後に

これで一通りの準備は終わったので、あとは自分の用途に合わせて使うことができます。 今回使ったNASは mac の Time Machineとしても利用していたり、TV録画先としても利用しているので、バックアップ環境としては安心できますね。