システム関連/web/apache2.0
Last-modified: 2022-05-05 (木) 09:23:37
apache2.0 tips†
rotatelogsを使ったログのローテート†
Synopsis rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ]
- 出し分ける間隔は秒で指定 86400だと1日でrotate
- その後ろの540はUTCからのoffset 日本だと9時間ずれなので540秒を設定する。
- 2.0.51 以降だと -l オプションが使えて local time で動く様だ
ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/error.log.%Y%m%d 86400 540" CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access.log.%Y%m%d 86400 540" common
もしくは
ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/error.log.%Y%m%d 86400" CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/access.log.%Y%m%d 86400" common
古いファイルはfindで見つけて削除する様にcron設定かな
変更したconfを反映させる†
/usr/local/apache2/bin/apachectl graceful
gracefulのオプションはリクエストを処理している最中の子プロセスやスレッドについて、そのリクエスト処理が終了するまで新しいインスタンスと置き換わらない。その為、リクエスト処理中のクライアントとの接続を中断させないでconfファイルを読み直せる。
運用中のサーバに対してconfの反映だけならrestartよりgracefulを指定した方が良さそうだ。