2017-09-15 26 views
3

要精心,AWS CLI - 有沒有一種方法可以從S3中將tar.gz提取到家中,而無需存儲tar.gz?

有我的AWS S3的tar.gz文件,姑且稱之爲example.tar.gz

所以,我想要做的就是下載example.tar.gz的提取的內容的/ var /家/

其中一種方法是簡單地下載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和直接提取它(活內存)到當前目錄。這個命令後沒有臨時文件,沒有額外的存儲和清理。

請確保您完全按照上述方式編寫命令。

相關問題