验证tar.gz没有损坏

时间:2017-01-11 17:33:52

标签: linux bash gnu tar

我有脚本来验证tar文件是否有效。我在这个例子中使用cat,但实际上我正在验证流式传输的amazon s3文件。

#!/bin/bash
cat $1  | tar zxf  -  > /dev/null
if [ $? -eq 0 ]; then
  echo  "File is ok ... $1"
else
  echo  "File is corrupted ... $1"
fi

问题是tar文件提取.tar.gz中的文件。我尝试了不同的变体,如tar -C /dev/null,但没有运气。它要么失败,要么将文件输出到磁盘。

如何在没有编写文件的情况下提取tar文件?其他一些帖子建议tar t来获取文件列表。但我不是百分之百确定只是获取文件列表将验证tar包含的文件的完整性。

1 个答案:

答案 0 :(得分:1)

如果可能,我会在S3存储桶上生成一个哈希值,然后在下载文件后将其与哈希值进行比较。