• タグ別アーカイブ: logrotate
  • logrotateスクリプトの調査

    Linuxでログファイルを一定期間ごとで切り出し、世代管理を行ってくれるlogrotate。
    logrotateでは、単にログをローテションするだけではなく、ローテションの際にスクリプトを動作させることが可能となっています。
    それらのスクリプトは、/etc/logrotate.confや、インクルードされる/etc/logrotate.d/hogehogeといったファイルに定義します。

    スクリプトを動作させることが可能なタイミングは以下の4つあります。

    • firstaction
      ログローテーションプロセスの1番最初
    • prerotate
      ログファイルをローテーションする前
    • postrotate
      ログファイルをローテションした後
    • lastaction
      ログローテーションプロセスの1番最後

    # 正直、firstactionとprerotate、postrotateとlastactionの違いはあまりよく分かっていません。

    これらのタイミングで、何らかの処理を行うことが可能ですが、その処理の中にはログファイル自身を扱う処理も行えます。
    ログファイル自身を扱うためには、その時点でのログファイルの状態(圧縮されたのか、ローテションされただけなのか、まだ何もされていないのか)などが気になります。
    調べては見ましたが、特にまとまった情報も無いようですし、OSやlogrotatedのバージョンによっても挙動が変化するそうなので、今回は自分が使う環境で色々調査してみました。

    続きを読む 投稿 ID 777


  • logrotateでdateextとdelaycompressを手動で実現する方法

    logrotateでは定期的にログをローテーションしてくれます。
    ローテーションのオプションにもいくつかあって、今回は以下の2つについて取り上げます。

    • dateext:ファイル名末尾に日付をつける
    • delaycompress:1つ前のファイル以外は圧縮する

    続きを読む 投稿 ID 777