如何将“tail -f”压缩为压缩(gziped)文件?

时间:2014-01-14 18:43:44

标签: linux compression gzip pipe tail

我尝试过以下操作,但生成的文件大小为0。

tail -f /logs/localhost.log | gzip -c -9 -f > compressed.gz

localhost.log非常活跃。

谢谢。

3 个答案:

答案 0 :(得分:1)

logrotate(8)旨在解决此类问题 - 它会旋转并压缩日志文件。

答案 1 :(得分:1)

你只是没耐心。这将工作,它将写入gzip文件。累积足够的输入以写入第一个压缩块需要一段时间。特别是如果输入是高度可压缩的,例如日志条目彼此非常相似。

这有一个问题,因为gzip永远不会被正确终止,因为gzip永远不会得到文件结束。

答案 2 :(得分:0)

你不能这样做,因为gzip实用程序不会逐行读取输入,它需要EOF。 但是你可以使用任何具有zlib实现的编程语言编写你的包装器。