Bash 将文本追加到gzip日志文件
有没有一种方法可以“简单地”将日志文本附加到gzip日志文件中Bash 将文本追加到gzip日志文件,bash,shell,tee,Bash,Shell,Tee,有没有一种方法可以“简单地”将日志文本附加到gzip日志文件中 一种echo“foo”| tee-A/tmp/foo.log.gz不太可能,如果你也想tee。你可以 echo "foo" | tee fifo | gzip -c >>/tmp/foo.log.gz 然后分别运行tail-f fifo。(顾名思义,它可以是一个文件,也可以是一个FIFO套接字。)您可以简单地连接gzip连接的内容,但它不会像gzip连接的文本那样小,因为每个块都有标题 # fast and somew
一种
echo“foo”| tee-A/tmp/foo.log.gz
不太可能,如果你也想tee
。你可以
echo "foo" | tee fifo | gzip -c >>/tmp/foo.log.gz
然后分别运行
tail-f fifo
。(顾名思义,它可以是一个文件,也可以是一个FIFO套接字。)您可以简单地连接gzip连接的内容,但它不会像gzip连接的文本那样小,因为每个块都有标题
# fast and somewhat inefficient
echo foo | gzip >> foo.log.gz
# small but slow
gunzip foo.log.gz && echo foo > foo.log && gzip foo.log
这是GNU
gzip
恰好可以使用的东西,还是它是gzip
文件格式的一个特性(因此可以依赖于它始终工作)?@地毯烟民:gzip格式的特性,以及gunzip
的工作方式gzip
是一系列独立的块,每个块都有一个头(可选地带有各种元数据,例如,如果输入是文件,则为文件名)。但是,gunzip
将透明地连接所有块(忽略它们存在的文件名)。