サーバーからログを収集するスクリプトを実行しています。このログをZIPファイルにリダイレクトする必要があります。今、私はデータをテキストファイルとして収集しています。
ZIPに直接リダイレクトするにはどうすればよいですか?
答え1
使用UnZip 6.00 of 20 April 2009
:
$ date | zip jeff.zip -
$ unzip -l jeff.zip
Archive: jeff.zip
Length Date Time Name
--------- ---------- ----- ----
29 01-21-2016 13:02 -
--------- -------
29 1 file
$ unzip -p jeff.zip | cat
Thu Jan 21 13:02:31 EST 2016
$ unzip -p jeff.zip > newfilename.here
これはdate
ログファイル(おそらくstdout)を収集するスクリプトを置き換える役割を果たし、stdoutをzipに送信してファイル名の代わりにstdinから入力を受け取るように指示します(-
)。 zipファイルの内容は認識可能な名前で指定されていませんが、データはあります。
答え2
gzip
圧縮データをファイルに直接パイプしてリダイレクトできます。
echo "my not compacted data" | gzip > compact.gz