2017-09-15 21 views
3

私のAWS S3上のtar.gzファイルがあり、AWS CLI - tar.gzを保存せずにS3からhomeにtar.gzを抽出する方法はありますか?

を詳述すると、のexample.tar.gzそれを呼びましょう。

だから、私は何をしたいexample.tar.gzへの/ var /ホーム/の抽出されたコンテンツをダウンロードしています。

これを行う1つの方法は、単にtar.gzをダウンロードし、それを抽出してから、tar.gzを削除することです。

しかし、私はtar.gzファイルをダウンロードするスペースを使いたくないので、私はちょうど抽出されたバージョンをダウンロードしたい、または抽出されたバージョンだけを保存したいです。

これは可能ですか?

ありがとうございます!

+0

私の答えがうまくいけば、「ベストアンサー」とマークしてください。i.stack.imgur.com/QpogP.png – mostafazh

答えて

0

現在、S3でこれを行う方法はありません。

次のスクリプトを作成して、tarをダウンロードするときはいつでも実行することができます。 IAMロール/アクセスキーの設定をしている限りです。

!#/bin/bash 
aws s3 cp s3://$1/$2 $3 
tar -xvf $3 
rm $3 

それからちょうどあなたが必要なもの./myScript BUCKET_NAME FILE_LOCATION OUTPUT_FILE

+1

これはローカルにtarファイルを作成し、ディスクにtarファイルを展開します= tarファイル+圧縮されていないファイル)、tarファイルを削除します。 – mostafazh

4

を使用してスクリプトを呼び出すには、以下の通りです:

aws s3 cp s3://example-bucket/file.tar.gz - | tar -xz

これはストリームfile.tar.gzがS3からなり、直接(インを、それを抽出しますメモリ)をカレントディレクトリにコピーします。この1つのコマンドの後には、一時ファイルはありません。

コマンドを上記のように正確に記述してください。

関連する問題