忘れないうちに。
newsyslogd のおかげで /var/log 以下の一部は xxx.0.bz2 みたいな形で古いものが残ってます。
このログを cat xxx.log | grep hoge みたいな形で処理したいとき。
古いファイルは bzcat xxx.log.1.bz2 xxx.log.0.bz2 とまとめることができますが、
最新のファイルだけは cat xxx.log を使わなければならないので、二回コマンドをたたくことになります。
bzcat /var/log/httpd-access.log.0.bz2 | grep 192.168. cat /var/log/httpd-access.log | grep 192.168.
ここで使えるのが bzcat -f オプション。通常 bzip が認識できないファイルは
エラーとして弾かれますが、--force をつけると、bzip が認識できないファイルをそのまま素通しします。
bzcat -f /var/log/httpd-access.log.0.bz2 /var/log/httpd-access.log | grep 192.168.
と、スマートにログ処理ができますね。