2013-02-26 28 views
5

通常のlogrotate.d設定ファイルでは、無制限の可能性のあるログを設定する方法はありますか?logrotateを使用した無制限ログ

私が思いつくことができる唯一のことは、決して満たされない狂気の数でそれを設定することです。何かのように:

/var/log/app/* { 
    missingok 
    weekly 
    copytruncate 
    rotate 10000000000 
    compress 
    notifempty 
    olddir /var/log/app/old 
} 

しかし、それは私にかなりハッキーのようです。 UNIX logrotate man pageから

+0

興味深い質問です。私は 'rotate 0'は現在のログだけを保持することを思い出しているようです。あなたは 'rotate -1'を試しましたか、それとも完全に省略しましたか? –

+0

あなたは既に解決策を見つけました。今度は、十字の指でlogrotateが回転値を格納するために64ビットの整数を使用するようにします。 – ypnos

答えて

3

回転数

ログファイルを削除したり、メールディレクティブで指定された 住所に郵送される前に回転倍です。 countが0の場合、旧バージョンは回転されずに が削除されます。

だから私はあなたが仕事に膨大な数を書く必要があると思います。

+0

申し訳ありませんが、最初にマンページを確認したことを述べておきます。それは何も言いませんでしたが、誰かがより良いアイデアを持っているかどうかは不思議でした。いつか、その巨大な数を満たすことができます:) 私は1つのアイデアは、特定のカウントに達すると、/ old/oldフォルダにログを移動するcronジョブになると思います。 – stewbert

+0

OK!だから、私はマニュアルページを見直しました:)まあ、これは良いアイデアだと思います。このスクリプトを作成して、 'if [$(ls -1/dir | wc -l)-ge $ BIG_NUMBER];のようなディレクトリ内のファイル数をチェックすることができます。その後、bla bla bla'。私はすべてのログファイルのビルを保存することは良いとは思いません。情報が必要な場合は、別の場所に保管して、ファイルシステムに何か問題が発生した場合に復元することができます。必要に応じてバックアップからリカバリできるように、フルバックアップは何時からですか? – fedorqui

+0

それはもちろん最終的な計画です。これは実際の問題(警報の速い速度でログを生成しているアプリケーション)にとっては厄介なものです。実際のアプリケーションの所有者にとっては、「本当の」解決策が実装されるまで使用できる「無制限」の設定があると、夜間によく眠ることがわかります(アプリケーションが非常に多くのログを生成するのを止めてください! 10MB〜15分ごとに20MBのログをローテーションする必要があります...) ありがとう!私はあなたに答えをあげます。 – stewbert

関連する問題