トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

システム関連/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を指定した方が良さそうだ。