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