回答:
他のすべてのログをローテーションするので、ほとんどの人にはlogrotateをお勧めします(KISS:Keep it Simple Stupid)。Logrotateは、すべてのApacheを再起動するのではなく、すべてのログファイルを再度開いて子を再起動するように指示する信号を送信するだけです。この信号は、子がすぐに再起動する(ダウンロードを中断する)SIGHUP、または正常な再起動を行うSIGUSR1のいずれかです。SIGUSR1では、すべての子が自然に死んだと思うまで、ログ処理を遅らせる必要があります。どちらの方法でも、おそらくログを分析して、日または週で最もトラフィックの少ない期間の時間を計る必要があります。
パイプされたログは、より強力なソリューションのようです。大きな利点は、集中ログシステムを使用して、Webサーバー自体の負荷を軽減できることです。マニュアル自体は言う:
条件付きロギングと同様に、パイプされたログは非常に強力なツールですが、オフラインの後処理などのより単純なソリューションが利用可能な場合は使用しないでください。
あなたがいないのであれば、明らかに、パイプされたログを使用していない必要があることを。私は過去にログをフィルタリングするハックな方法としてパイプロギングを使用しており、問題はありませんでした。
以前に両方を使用したことがあります。rotatelogsを使用すると、アクセスログの管理や、Apacheのダウンタイムが必要ない場合に非常に便利なツールであることがわかりました。大量のサイトでこれをお勧めします。唯一見つけた問題は、ログを管理したい場合、ログをクリーンアップするか、バックアップサーバーに移動するために別のスクリプトcronが必要になることです。要件によって異なります。logrotateを使用すると、ログファイルの処理方法に関するオプションが増えます。唯一の問題は、前の回答で説明したようにlogrotateが実行された場合、Apacheを再起動する必要があります。
基本的に、すべてを選択する必要があります。Apacheを中断することなく実行する必要がある場合は、管理する外部cronスクリプトを使用してrotatelogsを実行します。それ以外の場合は、logrotateで十分です。トラフィックが多いときにログをローテーションしないようにlogrotate cronを設定してください。
最後に、Apacheログをsyslogに記録したい場合は、RedhatベースのLinuxにあるloggerコマンドをいつでも使用できます。