AWSのS3も初使用。
GlacierはS3の約10分の1の価格で使えるデータストレージ。1G・1円/月くらい。
安価な代わりにデータの取り出しには数時間かかる。
バックアップ向け。
AWS コマンドライン インターフェイス
まずはコマンドラインでAWSを操作できるように環境を作る。
AWS コマンドラインインターフェイス | アマゾン ウェブ サービス(AWS 日本語)
Python 2.6.3 or later
python --version
Pythonのパッケージ管理ツール、pipを準備。
まずはダウンロード
get-pip.py
python get-pip.py
pipが使えるようになったらaws cliをインストール
pip install awscli
確認。
aws --version
awsコマンドを試す
まずはAWSの管理画面でS3を使いバケットという大きい単位の入れ物を作る。
また、IDとシークレットキーも取得し、下記コマンドで設定。
aws configure
これでawsコマンドが使えるようになる。
lsやcpやmvなど使い慣れたコマンドが使える。
こんな感じ。
aws ls s3:// aws ls s3://yourbucketname/ aws cp /home/username/test.txt s3://yourbucketname/test.txt aws mv /home/username/test.txt s3://yourbucketname/test.txt
Glacierの設定
これはAWSの管理画面から。
バケット単位でもフォルダ単位でもできるけど
特定のバケットをGlacier専用に設定。
そのバケットに入ったらすぐにS3からGlacierに移すようにできる。
保存に関してはS3に保存するのと同じ。
cronでの処理
超手間取った。
コマンドで入力したら動くのにcronだとどうしても動かなかった。
原因はconfigファイルが参照できていなかったこと。
シェルスクリプト内に下記を書いたら動いた。
cronの実行ユーザーと合わせる。
export AWS_CONFIG_FILE=/home/username/.aws/config
例えばこんな感じ
export AWS_CONFIG_FILE=/home/username/.aws/config scp username@servername":~/backup/hoge.gz /home/username/backup/hoge.gz /usr/local/bin/aws s3 cp /home/username/backup/hoge.gz s3://yourbacketname/hoge.gz
コメントを残す