- PR -

バーチャルドメインのログのローテート

投稿者投稿内容
ottoto
常連さん
会議室デビュー日: 2003/02/05
投稿数: 24
投稿日時: 2003-05-09 19:11
バーチャルドメインでAPACHEのログローテが出来なくて悩んでいます。
APACHEのバージョンはApache 2.0.44で全てデフォルトでインストールしています。
APACHEのVirtual.confファイルのログの吐き出し場所を下のように設定し、
<VirtualHost>
ErrorLog /home/aaa/error.log
CustomLog /home/aaa/access.log common
</VirtualHost>
<VirtualHost>
ErrorLog /home/bbb/error.log
CustomLog /home/bbb/access.log common
</VirtualHost>

/etc/logrotate.d/apacheのファイルを

/home/aaa/access.log{
rotate 50
monthly
postrotate
/usr/bin/kill -HUP
`/bin/cat /usr/local/apache2/logs/httpd.pid`
endscript
}

/home/aaa/error.log{
rotate 50
monthly
postrotate
/usr/bin/kill -HUP
`/bin/cat /usr/local/apache2/logs/httpd.pid`
endscript
}
に書きました。

すると、月初めにaccess.log1が生成され、今までのログがaccess.log1に移され、
access.logの容量が空になりました。
ここまでは良かったのですが、access.logに新たにログが溜まっているのではなく、
access.log1の方に溜ままり続けています。
ドコがおかしいのでしょうか?
もしかして、apacheをrestartかけないといけないのでしょうか?
長々と申し訳ありません。
お教え願えないでしょうか?
よろしくお願いします。

ottoto
常連さん
会議室デビュー日: 2003/02/05
投稿数: 24
投稿日時: 2003-05-09 19:36
因みにRedHat7.3をつかっています。
もしかして・・・

/usr/bin/kill -HUP
`/bin/cat /usr/local/apache2/logs/httpd.pid

が、
/bin/kill -HUP
`/bin/cat /usr/local/apache2/logs/httpd.pid
なのでしょうか?
ottoto
常連さん
会議室デビュー日: 2003/02/05
投稿数: 24
投稿日時: 2003-05-12 10:11
これでも、うまくいきません・・・
take
ぬし
会議室デビュー日: 2002/06/06
投稿数: 265
投稿日時: 2003-05-12 11:51
ちょっとわかっていないまま返信してしまうので
見当外れなことを言ってしまったらすいません。

まず、postrotate〜endscriptの前に
shareddscriptsの行がないんですが
これは動くのでしょうか?

そしてここがわかっていないのですが
/usr/bin/kill -HUP
`/bin/cat /usr/local/apache2/logs/httpd.pid
とやるとどうなるのでしょうか?
実際に実行してpsで見てみると
プロセスIDが変わらないのでapacheの再起動とは違う様ですが・・・
逆に質問になってしまってすいません。

あと、他のログファイルは正しくローテーションされているのでしょうか?
punk
ベテラン
会議室デビュー日: 2002/08/07
投稿数: 75
投稿日時: 2003-05-12 14:25
おひさしブリです。

もしかして、SSL使ってないですか?
ottoto
常連さん
会議室デビュー日: 2003/02/05
投稿数: 24
投稿日時: 2003-05-12 15:11
>takeさん返答ありがとうございます。
shareddscriptsの行を入れてやってみます。
別のLINUXマシンではshareddscriptsを入れなくても、ローテされてるんです。

他のログは全て正しくローテされているんですが、バーチャルのAPACHEのログだけ
ローテがされていません。
ファイル      サイズ
access.log      0
access.log.1    5000
こんな感じで、常に、access.log.1に溜まってしまうんです。


>punkさんお久しぶりです。
SSLは使ってません。apacheの設定がおかしいのでしょうか?
logroteの設定でまだ他に設定しなければならないファイルが
あるのでしょうか?


すいません、、、なかなか解決しなくて。
とりあえずshareddscriptsの行を入れてやってみます。
take
ぬし
会議室デビュー日: 2002/06/06
投稿数: 265
投稿日時: 2003-05-13 09:53
外しているかもしれませんが
/etc/logrotate.confファイルに直接
/etc/logrotate.d/apacheの内容を記述してみるとどうなるでしょうか?
punk
ベテラン
会議室デビュー日: 2002/08/07
投稿数: 75
投稿日時: 2003-05-13 11:17
こんにちは。
|SSLは使ってません。apacheの設定がおかしいのでしょうか?
|logroteの設定でまだ他に設定しなければならないファイルが
|あるのでしょうか?

この症状はそういえば、家でもなりました。
たしか、kill -HUP `cat /var/run/httpd.pid`やると、error_logに何か残ってたような気もします…/var/run/httpd.mmどうこうと言うやつが…。
そして、apacheが再起動しないんです。
service httpd restart
すれば問題ないみたいなんですけど…。

これとも違うんですかね?

#killallの場所は合わせてください。
/var/log/httpd/access_log {
rotate 50
monthry
missingok
postrotate
/usr/bin/killall -HUP httpd
endscript
}


[ メッセージ編集済み 編集者: punk 編集日時 2003-05-13 11:45 ]

スキルアップ/キャリアアップ(JOB@IT)