クラウドとサーバーを同期できる便利ツール「S3Sync」 ~Amazon EC2/S3環境構築のすべて~(2/2):CodeZine

「S3Sync」のインストール

 まずは、「S3Sync」をローカルマシンにインストールします。次のコマンドを上から順番に実行していきましょう。流れとしては「ダウンロード」~「解凍」~「ツールの配置」となります。

$ wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz$ tar zxvf s3sync.tar.gz$ sudo cp -pr s3sync/ /usr/local/

 この例では、「/usr/local/s3sync」に配置していますが、配置場所は任意ですので、必要に応じて変更してください。

環境変数の設定

 「Access Key ID」と「Secret Access Key」を次のように環境変数として設定します。「Access Key ID」と「Secret Access Key」の確認方法については、第2回を参考にしてください。

$ export AWS_ACCESS_KEY_ID='XXXXXXXXXXXXXXXXXXXX'$ export AWS_SECRET_ACCESS_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXX'

 このように最低限、上記2つの環境変数を設定するとS3Sync.rbが実行可能となります。

 なお、環境変数ではなく付属している「s3config.yml.example」を参考にして、設定ファイル(/etc/s3conf/s3config.yml)に記載しておくのも良いでしょう。また、頻繁に「S3Sync」を利用する場合は、「S3Sync」の配置先にPATHを設定しておくと、使いやすくなります。

データを「Amazon S3」へアップロード

 同期させたい元データのあるディレクトリを「/path/to/data」、同期先のS3のバケット名を「bucketname」、そのバケット内の同期先となるディレクトリを「data」とすると、S3の同期先にデータをアップロードするコマンドは次のようになります。

$ ruby s3sync.rb -r --delete /path/to/data bucketname:data/

 -rオプションは、そのディレクトリ以下を再帰的に実行します。--deleteオプションは、同期先のディレクトリに存在するファイルのうち、同期元のディレクトリに存在しないファイルを削除します。

 また、-sオプションを付ける事で、「Amazon S3」への接続にHTTPS(暗号化通信)を利用します。その他のオプションについては-hオプションを付ける事で、確認できます。

データを「Amazon S3」からダウンロード

 ダウンロードする場合は、アップロード時と同様、次のコマンドとなります。

$ ruby s3sync.rb -r --delete bucketname:data/ /path/to/data

 基本的には、アップロード時と、引数の指定順序を逆にするだけです。

 このように「S3Sync」の使い方は、オプションの指定や引数の順序においてrsyncと類似しているので、rsyncを使っている方は違和感なく利用できると思います。「Amazon S3」のストレージへ、ちょっとしたデータのバックアップを行う際、非常に使えるツールと言えるでしょう。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中