AWS CLI - 有没有办法将tar.gz从S3提取到home而不存储tar.gz?

Kar*_*ung 7 amazon-s3 amazon-web-services

详细说明,

我的AWS S3上有一个tar.gz文件,我们称之为example.tar.gz.

所以,我想要做的是将提取的example.tar.gz内容下载到/ var/home /.

一种方法是简单地下载tar.gz,解压缩,然后删除tar.gz.

但是,我不想使用空间下载tar.gz文件,我只想下载提取的版本或只存储提取的版本.

这可能吗?

谢谢!

mos*_*azh 15

您需要的是以下内容:

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

这将file.tar.gz从s3和直接(内存)解压到当前目录.在这一个命令之后没有临时文件,没有额外的存储空间和没有清理.

确保完全按照上面的说法编写命令.


小智 -2

目前还没有办法使用 S3 来做到这一点。

不过,您可以创建以下脚本,并在需要下载 tar 时运行它。只要您设置了 IAM 角色/访问密钥即可。

!#/bin/bash
aws s3 cp s3://$1/$2 $3
tar -xvf $3
rm $3
Run Code Online (Sandbox Code Playgroud)

然后只需使用调用脚本./myScript BUCKET_NAME FILE_LOCATION OUTPUT_FILE

  • 这将在本地创建一个 tar 文件,将 tar 文件提取到磁盘(使用磁盘空间 = tar 文件 + 未压缩文件),然后删除 tar 文件。 (2认同)