あらまし
長いこと使っている MBA(Late 2013, SSD128GB) のiTunesのライブラリ*を、どこかしらにバックアップしようと考えた。けれど、
- 手元に空いた外付けディスクがない
- iTunesライブラリが60GBぐらいあるので、ディスク容量が足りず圧縮できない
などなどの状態で困っていたけれど、最終的に「S3でいいんじゃない?」ってとこに辿り着いた。
実際にやってみたので、その手順をメモしておく。
*本記事では /Users/${username}/Music/iTunes
以下を想定しています。それ以外にバックアップしておくべき箇所があるなら教えてほしい。
手順
- ターミナルでAWS CLIが利用できるようにする
- CLI経由でS3にアクセスできるIAMロールを作成する
- 2.のIAMロールをCLI側で設定する
- ターミナルで
aws sync
コマンドを実行する
1. AWS CLIコマンドのインストール
ターミナルからpip
でインストールする。
$ pip install --upgrade --user awscli
ダウンロードできたら aws --version
を叩いてみる。
こんな感じで返ってきたらOK。
$ aws --version
aws-cli/1.11.93 Python/2.7.10 Darwin/16.6.0 botocore/1.5.56
command not found
な場合は、パスを通してから再度実行する。
$ export PATH=$PATH:/Users/${username}/Library/Python/2.7/bin
2. IAMユーザーの作成
S3にアクセスするためのIAMユーザーを作成する。
メニュー > IAM > [ユーザーを追加]
1. 詳細
ユーザー名: ex.) s3-uploader
アクセスの種類: プログラムによるアクセス
を選択
2. アクセス権限
ユーザーをグループに追加 > グループの作成
グループ名: ex.) s3-uploader
ポリシー: AmazonS3FullAccess
を選択
以降、3.確認 > 4.完了と進み、credentials.csv
をダウンロードしておく。
3. IAMユーザーのID・PWを設定する
2.で作成したIAMユーザーでAWS CLIコマンドを実行するための設定をする。
$ aws configure
ダウンロードしたcredentials.csv
の情報を入力する。
AWS Access Key ID: (記載されているAccess Key ID)
AWS Secret Access Key: (記載されているSecret Access Key)
Default region name: us-east-1
Default format: json
4. AWS CLIコマンド実行
初回の場合は以下の通り。
$ aws s3 sync /Users/${username}/Music/iTunes s3://${s3bucketname}/iTunes
sync
で、指定したディレクトリ以下を再帰的に同期してくれる。
また、 --dry-run
をつけて実行すれば、同期されるファイルの一覧を確認できる。
2回目以降は
$ aws s3 sync /Users/${username}/Music/iTunes s3://${s3bucketname}/iTunes --delete
と--delete
オプションを指定すれば、ローカルで削除したファイルもs3から削除してくれる。
(@monamu さんよりコメントいただきました。ありがとうございます!)
結構時間がかかった。(諸事情で出先でやっていたので、だいたい7~8時間)
が、GUIで操作して……だと何百年経っても終わらないだろうことを考えると、目覚ましい。便利です。
参考
http://www.task-notes.com/entry/20150904/1441335600
https://aws.amazon.com/jp/getting-started/tutorials/backup-to-s3-cli/
http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-bundle-other-os