質問: logrotateの圧縮に条件を指定できますか? logrotateの圧縮に条件を指定できますか? logrotateのファイル圧縮ですが、ローテーションした logファイルを常に圧縮するのではなく、 10世代以前のファイルは圧縮するといったことは可能ですか? 可能でしたら、その設定方法も教えていただけますでしょうか? cent os 5.4 logrotate 3.7.4 を使っています。 squidのログファイルを管理したいのですが、 圧縮してしまうと分析のためのツールが使えず、 その都度展開する必要があります。 なので、一週間分は圧縮せず、それより古い分は 圧縮してしまおうと思うのですが方法が見つかりません。 (圧縮したままでも使える分析ツールは見つかりましたが 機能が不満でした。) よろしくお願いいたします。
回答: たぶんlogrotateだけではできないのではないでしょうか。 delaycompressというオプションがありますが、次回ローテート時には圧縮されてしまいます。 logrotateでは圧縮せず、下記のようなスクリプトを作成してcronで圧縮するのが現実的ではないかと思います。 /usr/bin/find /var/log -type f -name "*.log" -mtime +10 -exec /usr/bin/gzip {} \;