【问题标题】:Download/Copy tar.gz File from S3 to EC2从 S3 下载/复制 tar.gz 文件到 EC2
【发布时间】:2021-01-21 13:58:10
【问题描述】:

当我从 AWS S3 下载 tar.gz 文件,然后尝试解压缩它时,我收到以下错误:

tar -xzvf filename_backup_jan212021_01.tar.gz

gzip: stdin: not in gzip format

tar: Child returned status 1
tar: Error is not recoverable: exiting now

当我检查它是什么类型的文件时,我得到了这个:

file filename_backup_jan212021_01.tar.gz
filename_backup_jan212021_01.tar.gz: ASCII text

这是我用来将文件从 S3 复制到我的 EC2 的命令:

aws s3 cp s3://bucket_name/filename_backup_jan212021_01.tar.gz .

请帮我找到从 AWS S3 下载 tar.gz 文件后提取它的解决方案。

【问题讨论】:

  • 您的 s3 cp 失败或不是 gzip 文件。 cat filename_backup_jan212021_01.tar.gz 说什么?
  • 这是猫的输出:cat filename_backup_jan212021_01.tar.gz /home/ec2-user/file_delete_01.txt /home/ec2-user/file_jan2021.txt /home/ec2-user/filename_backup_jan1.tar.gz /home/ec2-user/filename_backup_jan1.txt /home/ec2-user/filename_backup_jan2.tar.gz /home/ec2-user/filename_backup_jan3.tar.gz
  • 您能否edit 并在您的问题中添加这些详细信息?
  • 从输出看来,filename_backup_jan212021_01.tar.gz 根本不是一个 tar 压缩文件,而只是一个文本文件。
  • Sathyajith Bhat:我相信你是对的。这是我用来上传文件的命令:tar -cvzf * | aws s3 cp - s3://willie-s3-file-deletion/filename_backup_jan212021.tar.gz。但是,当我在上传文件之前 tar 文件时,我可以下载它并且它可以工作。所以,问题是当我上传文件并按照命令中的指示同时 tar 时。看起来 S3,因为它不是一个文件系统,它的行为方式是它不会对文件进行 tar 和 gzip 压缩。使用此命令时,它将其保留为 ASCII 文本文件。谢谢!

标签: amazon-s3 gzip tar cp


【解决方案1】:
tar -xzvf filename_backup_jan212021_01.tar.gz

gzip: stdin: not in gzip format
file filename_backup_jan212021_01.tar.gz
filename_backup_jan212021_01.tar.gz: ASCII text

cat filename_backup_jan212021_01.tar.gz

/home/ec2-user/file_delete_01.txt
/home/ec2-user/file_jan2021.txt
/home/ec2-user/filename_backup_jan1.tar.gz
/home/ec2-user/filename_backup_jan1.txt
/home/ec2-user/filename_backup_jan2.tar.gz
/home/ec2-user/filename_backup_jan3.tar.gz

所有这些都表明上传到 S3 本身的文件不是 gzip 的 tar 文件,而只是一个使用 .tar.gz 文件名上传的纯文本文件。虽然文件名和扩展名用于向人类指示内容类型,但计算机却不这么认为:)

你可以创建文件

tar cvzf <archive name> </path/to/files/to/be/tarred> && aws s3 cp <bucket path> <archive name>

创建存档并将其上传到 S3,并使用您在问题中提到的命令下载它们。当然用正确的名称替换占位符等

【讨论】:

  • 嗨,你有这个 aws s3 cp 命令的 Java SDK V2 替代品吗?
猜你喜欢
  • 2020-09-04
  • 1970-01-01
  • 2021-03-23
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
  • 2017-04-27
  • 2022-08-04
  • 2022-01-07
相关资源
最近更新 更多