Apache1 の時は問題なかったのですが、Apache2 の rotatelogs.exe は Apache がこけた時にそのまま、プロセスが残ってしまうようです。
これが、困った問題で、設定の問題かもしれませんが PHP でサイト構築していると過負荷になったときに Apache が次のようなエラーログを残してチャイルドプロセスを再起動してしまうのですが、そのたびに不要なプロセスが残っていき最後には、rotatelogs.exe が起動しなくなってしまいます。
エラーログ
FATAL: erealloc(): Unable to allocate 1441792 bytes
原因を調べてみましたが、よく判りませんでした。
そこで、rotatelogs.exe は使用せず、バッチファイルで対応することにしました。
以下のバッチファイルは、次のような手順を自動で行います。
ログが c:\apache\log に保存されていると仮定。
net stop apache2 c: cd \apache\log ren access.log access_%date:~2,4%%date:~7,2%%date:~10,2%.log ren error.log error_%date:~2,4%%date:~7,2%%date:~10,2%.log net start apache2 unlha a log_%date:~2,4%%date:~7,2%%date:~10,2%.lzh *%date:~2,4%%date:~7,2%%date:~10,2%.log del *%date:~2,4%%date:~7,2%%date:~10,2%.log
この logrotate.bat をタスクマネージャーに登録して1日1回だけ実行します。
再起動の処理中は、Webページが閲覧できなくなりますが、1日のうちでアクセスの少ない時間帯に処理すればいいと思います。
これで、肥大化するログファイルも圧縮して保存できるようになり大満足です。
ああああ
| Page name: | 徒然日記/2005-02-07-1 [ Sended pings(0) ] | |
| Author: | nao-pon | - 2005/05/14 23:20:52 JST(1297d) |
| Last edit: | 通りすがりさん | - 2008/09/09 09:26:28 JST(83d) |
| Editers: | nao-pon | |
| Back Link: | 通りすがりさん(19d) 通りすがりさん(782d) PHP(1153d) 徒然日記(1564d) | |
ログイン
メインメニュー
Home
新着情報
フォーラム
UsersWiki
xpWiki::Dev
Wiki [自由帳]
Recent View
View List
写メールBBS
たぐめも
ダウンロード
箱庭諸島
リンク集
お問い合わせ
サイトマップ
参照元情報
|
最新のページ
ブックマーク
新着トラックバック
サイト内 Wiki
☆ 検索 ☆
オンライン状況
サイト情報
現在ページのQRコード
参照元情報