「さくらのクラウドオブジェクトストレージ」を使う(s3cmd(S3コマンド)編)(Debian)

前回(正確には前々回)は「s3fsマウント編」をやりましたが、今回は「s3cmdコマンド編」です。
「s3fsマウント編」は名の通りシステムにマウントし、FUSEのフレームワークを利用して通常のファイルシステムを使うかのようにオブジェクトストレージを使えるようにしましたが、今回の「s3cmd(S3コマンド)編」ではオブジェクトストレージをマウントするのではなく、コマンドベースでファイル操作する事になります。
S3コマンドはAWSのS3を利用するために用意されているみたいですが、「さくらのクラウドオブジェクトストレージ」はS3互換なのでこれを利用(一部?)することが出来ます。
「s3cmd(S3コマンド)」の利点としては、オブジェクトストレージをマウントしていなくても1行のコマンドでファイルの操作が出来るので、シェルに組込みやすい所にあると思います。
例えば、システムのバックアップ処理の最後の1行に「S3コマンド」でオブジェクトストレージに格納するコマンド書いておくとかね。

term

 

s3cmdをインストール

sudo apt-get install s3cmd

 

対話的設定モードで設定

s3cmd --configure

—————————————–
foo@hoge:~$ s3cmd –configure

Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.

Access key and Secret key are your identifiers for Amazon S3
Access Key [hoge]: 「アクセスキーを設定」
Secret Key [xxxxxxxxxxxxxxxxxxxxxxxxxx]: 「シークレットキーを設定」

Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password: 「設定しない」
Path to GPG program [/usr/bin/gpg]: 「設定しない」

When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP and can’t be used if you’re behind a proxy
Use HTTPS protocol [No]: 「設定しない」

New settings:
Access Key: 設定したアクセスキーが表示される
Secret Key: 設定したシークレットキーが表示される
Encryption password:
Path to GPG program: /usr/bin/gpg
Use HTTPS protocol: True
HTTP Proxy server name:
HTTP Proxy server port: 0

Test access with supplied credentials? [Y/n] n —-ここはnで終了させる
Save settings? [y/N] y

—————————————–

 

.s3cfgを編集して書きの2行を変更する

vi ~/.s3cfg
 
host_base = b.sakurastorage.jp
host_bucket = %(bucket)s.b.sakurastorage.jp

 

接続確認

foo@hoge:~$ s3cmd info s3://hogestorage
s3://hogestorage/ (bucket):
Location: us-east-1
foo@hoge:~$

 

バケットにアップロード

s3cmd put ~/tmp/test.txt s3://hogestorage/web/
/home/foo/tmp/test.txt -> s3://hogestorage/web/test.txt [1 of 1]
18 of 18 100% in 0s 67.86 B/s done
s3cmd put ~/tmp/test2.txt s3://hogestorage/web/
/home/foo/tmp/test2.txt -> s3://hogestorage/web/test2.txt [1 of 1]
18 of 18 100% in 0s 79.41 B/s done

 

一覧表示

s3cmd ls s3://hogestorage/web
foo@hoge:~/tmp$ s3cmd ls s3://hogestorage/web
DIR s3://hogestorage/web/
2015-02-21 06:02 18 s3://hogestorage/web
foo@hoge:~/tmp$

 

一覧表示

s3cmd ls s3://hogestorage/web/
2015-02-21 06:04 18 s3://hogestorage/web/test.txt
2015-02-21 06:04 18 s3://hogestorage/web/test2.txt
foo@hoge:~/tmp$
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です