• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:logrotateの圧縮に条件を指定できますか? )

logrotateの圧縮に条件を指定できる?

このQ&Aのポイント
  • logrotateのファイル圧縮には条件を指定することができるのか、その方法を教えてください。
  • Cent OS 5.4のlogrotate 3.7.4を使用している場合、logrotateのファイル圧縮の設定方法を教えてください。
  • ログファイルの圧縮によって分析ツールの使用が制限されるため、一週間分は圧縮せずに保持する方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

現在のsquidのlogrotate.dの設定や、ロギングされているディレクトリやファイルがわからないのであくまでサンプルですが /etc/logrotate.d/squid /var/log/squid/* { daily rotate 50 missingok postrotate /usr/sbin/squid -k rotate find /var/log/squid/* -type f -mtime +10 -exec gzip {} \; endscript } あたりでどうでしょうか? (検証はしていません) ローテートは1日1回で50ファイル(50日間)保存するが、10日以降のログに対してはgzipを実行します(するはずです)。

lbbg
質問者

お礼

ありがとうございます。 恥ずかしいことにコマンド部分の意味が分らないのですが、 仰るとおりに動作するならばまさに希望通りのものです。 なるべく早く試してみます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

たぶんlogrotateだけではできないのではないでしょうか。 delaycompressというオプションがありますが、次回ローテート時には圧縮されてしまいます。 logrotateでは圧縮せず、下記のようなスクリプトを作成してcronで圧縮するのが現実的ではないかと思います。 /usr/bin/find /var/log -type f -name "*.log" -mtime +10 -exec /usr/bin/gzip {} \;

lbbg
質問者

お礼

回答ありがとうございます。 スクリプトがさっぱりわからないので これから勉強してみます。

すると、全ての回答が全文表示されます。

関連するQ&A