为什么服务器不使用7z?

为什么服务器不使用7z?

默认情况下,在 UNIX 机器安装上,我可以看到日志是通过 gzip 轮换的。

问题:为什么 UNIX 世界默认不使用 7z?它会比 gzip 更有效率..

我只是压缩了一个包含许多 HTML 文件的目录。

7z:1.8 MB

邮编: 440 MB

答案1

在 Unix 下,归档(将文件分组为一个实体)和压缩通常是在单独的步骤中完成的。

当您想要操作单个文件(这不会从归档中受益)时,这会提供更大的灵活性 - 考虑诸如gzip -cd mylog.gz | grep '^Oct.*error'.实现同样的效果7z会很尴尬。

7z(and zip、and rar、and arj、and...) 是碰巧压缩的存档器。它们不会取代传统的,gzip因为它们没有相同的目的。

gzip速度快、资源少、非常知名并且安装在大多数 Unix 系统上。如果您正在寻找更高性能的压缩机,请选择xz。它提供的命令行界面与 LZMA 算法非常相似,gzip但使用或多或少相同的 LZMA 算法,因此7z您应该获得相似的压缩比。


1)上述管道非常常见,因此围绕gzip工具存在许多包装器;经验丰富的用户可能会选择zgrep '^Oct.*error' mylog.gz节省一些击键次数。

答案2

使用 logrotate,日志文件一次只能压缩一个文件(恕我直言,这是一个限制,实际上在实践中并不是一个问题),并且gzip默认使用,很可能是由于历史原因,并且它尚未改变。您仍然可以通过该命令使用另一个压缩器compresscmd。有关更多信息,请参阅 logrotate(8) 手册页。

将来,logrotate 可能会有不同的默认值。我认为当今最好的压缩机是xz,但它仍然相当新。

如果您使用不同的日志轮换软件,请参阅其文档。

相关内容