複雑なログディレクトリにlogrorateを使用する

複雑なログディレクトリにlogrorateを使用する

アプリケーションには、大量のログ出力が生成されるログディレクトリがあります。ログディレクトリのファイル構造は次のとおりです。

localhost:/var/log/myapp # ls

appClient22334.a    appClient22336.a    appClient22338.a
appClient22334.b    appClient22336.b    appClient22338.b    
appClient22334.c    appClient22336.c    appClient22338.c
appClient22335.a    appClient22337.a    appClient22339.a
appClient22335.b    appClient22337.b    appClient22339.b
appClient22335.c    appClient22337.c    appClient22339.c

アプリケーションは毎日何百ものファイルを生成し、すべて保存する必要があります。数字が増加します。

ほとんどの場合、logrotateを毎日使用してログファイルを保存して圧縮しますが、この場合はどうすればよいかわかりません。

理想的な解決策は、次のものを持つことです。

appClient.20120324.gzip
appClient.20120325.gzip
appClient.20120326.gzip

logrotateを使用している間(おそらくそれを使用する賢明な方法でしょうか?)これを行うことができますか、または特定のbashスクリプトを書くのがより速くて簡単な場合は、prerotate誰かが私を正しい方向に導くことができますか?

答え1

作業を簡単にするために、昨日のログファイルをファイル(たとえば昨日.log)にリンクし、成功した場合に削除する毎日のcronジョブを実行し、logrotateを実行して(再)名前を指定してファイルを圧縮します。 。フルタスクを実行するためにforce logrotateを使用することもできますがsharedscripts、私はそうは思わず、それを見つけようとする時間を無駄にしません。

関連情報