2017-11-02 13 views
1

特定のディレクトリ内のすべてのログファイルをログに記録できる方法を探しています。私は現在、使用していますログファイルを含むlogrotateディレクトリ

設定は次のとおりです。

/path/to/folder/*.log { 
daily 
rotate 5 
missingok 
notifempty 
maxage 14 
compress 

}

毎日 - 削除前5つのバージョンを回転させる

MAXAGE - 私はそれが日常

回転を実行したいので、 14 - 14日後に実際のログファイルを削除する

圧縮時にログファイルを圧縮します。

理解できないことは、現在の日数のログファイルも圧縮されている理由です。私はatleast現在の日と昨日のログファイルをそのまま残しておきたい。

delaycompressを使ってみましたが、それでも役に立たなかったです。

私が間違っていることを助けてもらえますか?

答えて

2

delaycompressを追加すると、圧縮が1回転遅れます。

その後、持っている必要があります。

  • 現在のログファイルが書き込まれているためにどの。
  • 以前のログファイルは圧縮されていません(ローテーションの直前の "現在の"ログファイルから作成されました)。
  • 以前のログファイルは圧縮されています。

rotateは5(毎日)回転した後にログファイルを削除しますようmaxage 14は便利な本当にここではないことに注意してください。

+0

現在のログファイルと以前のログファイルを非圧縮でもう少し詳細を教えてください。私の場合、1日にいくつかのログファイルがあり、プロセスごとに一意です。それで、私はそれらを圧縮したくないのです。また、maxageを指摘していただきありがとうございます。私は5回転して以来、それが有効ではないことに気付きました。ありがとうございました – iDev

+0

私の経験では、ログローテーションのルールは、一致する各ファイルに適用されます。 "PROC1232.log"があり、delaycompressでそれをローテーションすると、 "PROC1232.log.1"と "PROC1232.log"で始まる以前のログに名前が変更されます。圧縮される。新しいプロセスがそれを作成すると、ファイル "PROC1232.log"が作成されます。 ログローテーション時にファイル "PROC1232.log"を作成したい場合は、 'create'を追加する必要があります。 –

+0

あなたが意味するものがあります。手伝ってくれてどうもありがとう。 – iDev

関連する問題