首页 > 解决方案 > 解压大量小文件并再次压缩以提高效率并避免 S3 API 成本

问题描述

我有 1B+ gzip 文件(平均每个 50 kb),我想将它们上传到 S3 服务器。由于我需要为每个写入操作付费,因此将它们传输到 S3 成为一个巨大的成本问题。另外,这些文件非常相似,我想将它们压缩在一个大文件中,这样压缩效率也会提高。

在编写 shell 脚本时,我是一个新手,但我正在寻找一种方法,我可以:

如果您能帮助我更有创意地思考以做到这一点,我将不胜感激。在我看来,唯一的方法是将它们全部解压缩并按每 1K 块压缩它们,但这是不可能的,因为我没有磁盘空间来压缩它们。

标签: linuxbashubuntucompressionjobs

解决方案


用几个文件测试解压缩文件时使用了多少额外空间。尝试腾出更多可用空间(将 90% 的文件移动到另一台主机)。当文件相似时,10% 的文件的压缩率会很高。我想 10 块会适合,但每次你想解压缩它都会很紧。所以我会选择100块。
但首先要考虑一下您将来要如何处理这些数据。
从不使用它?删除它。
也许在遥远的将来有 1 次?冰川。
经常?使用较小的块,以便您可以更轻松地找到正确的文件。


推荐阅读