68

600MB を超える 1 つのアクセス ログ ファイルを持つ Apache サーバーを使用しています。これにより、ファイルの検索や解析が非常に困難になります。
管理しやすくするためにアクセス ファイルのコピーを毎日作成する、Apache 用のどのソフトウェアまたはモジュールを利用できますか?

4

7 に答える 7

49

logrotateを見たことがありますか。これはおそらく、これを達成するための最も簡単で、最も広く利用され、よく理解されている方法です。高度な設定が可能で、おそらく必要なことの 90% を実行できます。

于 2008-09-04T15:54:38.737 に答える
27

私はCronologの大ファンです。ログをインストールしてパイプするだけです。毎日のログローテーションの場合、次のようなものが機能します。

ErrorLog  "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/error.log"
CustomLog "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/access.log" combined

非常に便利で、一度インストールすると、logrotateよりも(私の経験では)簡単です。

于 2008-09-04T16:12:41.020 に答える
13

オンラインで見つけるのが非常に難しいWindowsの実際のコマンドは次のとおりです。

CustomLog '|" "*Apache-Path/bin/rotatelogs.exe" 
    "**Apache-Path*/logs/backup/internet_access_%d-%m-%y.log" 86400' combined

「internet_access」ビットはファイルに付けた名前で、86400 は 1 日の秒数です。Apache-Path を、Apache をインストールした関連ディレクトリに変更する必要があります。

于 2008-12-10T11:15:04.660 に答える
9

ログ回転

logrotateおそらく最良の解決策です。このファイル/etc/logrotate.confを使用して、すべてのログの設定を変更します。ログが毎日ローテーションされるように変更weeklyします。また、アーカイブが圧縮されるようdailyに追加することもできます。compress古いログを気にしない場合は、ローテーションrotate 4をより低い値に設定できます。

于 2008-09-04T16:00:57.083 に答える
3

CustomLog "|bin/rotatelogs /var/logs/logfile 5M" 共通

この構成では、サイズが 5 メガバイトに達するたびにログ ファイルがローテーションされます。

ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M" 

これは、Apache ログをリダイレクトする最良の方法です。mod を httpd でコンパイルする必要はありません。

于 2011-06-21T00:20:53.023 に答える
1

Windows OS では、rotatelog.exe または cronolog.exe。これらは、http.conf のパイプ コマンドで使用されます。Mod_log_rotate Apache の追加モジュールは、アクセス ログ ローテーションのみです。Logrotate は、UNIX OS の場合のみです。

于 2010-08-04T09:22:45.920 に答える
0

外部パイプなどを必要とせずにこれを行うモジュールがあります:

http://www.poptart.org/bin/view/Poptart/ModAutorotate

私はそれをApacheモジュールコレクションに追加しようとしましたが、それはしばらくの間壊れているようです.

于 2010-11-27T09:22:59.527 に答える