2011-06-30 5 views
7

私は、ファイル '/ var/log/myApp'にログを書き込んでいるカスタムアプリケーション(myApp)を持っています。私は書き込まれているログを見ることができ、それは正常に動作します。さて、内容がされている私は、このファイルの設定logrotateのにしようとしていますし、このために私は設定ファイル「/etc/logrotate.d/myApp」を作成している -ログサイズに基づいてLog Rotateが自動ローテーションされない

/var/log/myApp { 
    missingok 
    size +10k 
    start 0 
    nocompress 
    create 0600 root root 
    rotate 10 
    postrotate 
    /etc/init.d/rsyslog restart > /dev/null 2>&1 || true 
    endscript 
} 

今私がlogrotate -dv /etc/logrotate.d/myAppを行う場合、私はそのようなエラーは表示されず、logrotate -f /etc/logrotate.d/myAppが実行されると、つまり、強力なログの回転によってログが回転されます。しかし、ログファイルのサイズが10kを超えると、ログは自動的にローテーションされません。どんな助けもありがとう。

答えて

3

logrotate/etc/logrotate.confで設定された時間間隔に従って、/etc/logrotate.d/で指定されたログをローテーションします。一部のディストリビューションでは、デフォルト値は1週間です。たとえば、特定の設定でその時間間隔を上書きすることができます。あなたの設定ファイルで '毎日'。

logrotateが指定された時間以上のファイルを認識するまで、ログファイルはローテーションされません。私はあなたがこれを待っていたと仮定し、そして/またはconfファイルを修正しましたか?

+0

> logrotateがファイルについて知っているまでログファイルはローテーションされません少なくとも指定された時間だけ。 Gwha​​?それが私にとってのニュースです。私はそれについてlogrotateのmanページに何も見ませんでした。どのようにしてlogrotate confファイルをデバッグすれば、それが動作するかを見るのに24時間待つ必要はありませんか? – Logan

+0

@Logan - '-f'(強制)オプションを使用します。 – Hogan

+0

http://unix.stackexchange.com/questions/15546/logrotate-log-does-not-need-rotating-why/15547#15547(/ var/lib/logrotate/statusおよび-fフラグ)も参照してください。 – pevik

1

logrotateは1日に1回しか動作しないため、常にファイルサイズを確認していません。

あなたは下のサイズを維持するための効果的な方法をしたい場合、あなたは、例えば

のようなcronジョブを使用して、あなたのcrontabに毎時

0 * * * * logrotate <my conf here> 

を回転を強制し、あなたのログがされるはずです必要に応じて1時間ごとに回転します。フリーティアのawsサーバーでこのような問題が発生しました。サイズが急激に上がり、ローテーションのために24時間待機するのに十分なディスク容量がありませんでした。

関連する問題