Apacheのログローテーション設定方法
Apache標準の機能でログローテーションを行う方法です。
超初心者にもわかるように書いたつもりです。
httpd.confの編集
まずは以下のファイルをテキストエディタで開いて編集します。
<Apacheインストールディレクトリ>\conf\httpd.conf
httpd.confファイルのCustomLogの部分を以下のように編集します。
CustomLog "| <roglate.exeの場所> <ログの出力場所とファイル名> <ローテーションの周期> <UTCとのオフセット>"
使用例はこんな感じ。
CustomLog "| bin/rotatelogs.exe C:/log/Apache2/access.log.%Y%m%d 86400 540" common
設定内容の解説
それぞれの項目について説明していきましょう。
<rotatelogs.exeの場所>
このrotatelogs.exeが実際にログローテーション処理をしてくれるプログラムです。
おそらく標準であればインストールディレクトリのbin配下に配置されていると思いますのでその場所を指定します。
<ログの出力場所とファイル名>
ログの出力場所を設定します。
出力するログのファイル名まで指定するのですが、そこで以下のようにログファイル名のフォーマットを指定することが出来ます。
access.log.%Y%m%d
.logの後ろにごちゃごちゃと続いていますがこれらが意味するのは以下の通りです。
%Y:年
%m:月
%d:日
したがって、2018/05/21に出力されるログファイルは
access.log.20180521
となるわけですね。
<ローテーションの周期>
何秒ごとにログファイルをローテーションするかの設定です。"秒"単位で設定します。
1日毎にローテーションしたい場合は86400(24時間)を設定しておきましょう。
<UTCとのオフセット>
オフセットというのはJST(日本標準時)とUTC(協定世界時)との差のことです。
日本時間はUTCと呼ばれる協定世界時の9時間後になっているので、ここで「UTC+9時間」を設定してあげると0時からローテーションが実行されます。
何も設定しない場合はUTCで0時(日本時間で9時)にローテーションが実行されることになります。
設定内容の反映
以上で設定はログローテーションの設定は完了です。
httpd.confを保存したらApacheを再起動しましょう。設定が反映されてログローテーションができるようになっているはずです。
おしまい。
ディスカッション
コメント一覧
まだ、コメントがありません