Apache ログ ファイルをローテーションする最良の方法 [終了]

StackOverflow https://stackoverflow.com/questions/44048

  •  09-06-2019
  •  | 
  •  

質問

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

役に立ちましたか?

解決

見ましたか ログローテート - これはおそらく、これを達成するための最も簡単で、最も広く利用され、よく理解されている方法です。高度に構成可能で、おそらく必要なことの 90% を実行します。

他のヒント

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

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 よりも簡単です。

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 をインストールした関連ディレクトリに変更する必要があります。

ログローテート

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

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

この設定では、ログファイルのサイズが 5 MB に達するたびにログファイルがローテーションされます。

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

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

Windows OS では、rotatelog.exe または cronolog.exe。これらは、http.conf mod_log_rotate apache for apachのみの追加モジュールのPipeコマンドで使用されます。

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top