- PR -

apacheのaccess_logについて

投稿者投稿内容
おさるわん
会議室デビュー日: 2004/11/10
投稿数: 7
投稿日時: 2005-01-13 16:27
直接関係ないかも知れませんが,ログが何故追加されなくなったのかを補足しますね。
apacheのログファイルは常駐しているapacheのモジュールがopenしています。
おそらくログファイルをrmコマンドで消されたかとおもうのですが,apacheがopenしているファイルを消してしまうので,apacheが再度そのログファイルをopenしないとログが追加されないことになります。(再起動しないかぎり再openしません)
ファイルを消して,新たに同じ名前でファイルを作っても、外見は同じですが、内部的(iノード番号)には違うものとなります。
更にこれはSolaris2.5の頃の話ですが,プロセスからopenされ続けているファイルをrmしても、表面上は消えるのですが,OS上では保持されて読み書きが出来ました。ですので、見えないファイルが作成され、ディスク容量も使われてしまい、外部からはどうしようもなくなっていました。

で,apacheのログをrmを使わないで消す(減らす)方法ですが、cpコマンドで0バイトのファイルを上書きすることや、 echo > access_log とかやって上書きすることでサイズを減らしています。(厳密にはあまりよくないのでしょうが)
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2005-01-13 19:10
皆さんがいろいろと書き込まれていますが、結論だけを書いちゃいましょう。
アクセスログファイルを削除もしくは別の場所に移動して、

# /usr/local/apache/bin/apachectl restart

とやってください。新たに作成されるはずです。
まーちゃん
会議室デビュー日: 2004/11/09
投稿数: 18
投稿日時: 2005-01-14 10:09
引用:

あんとれさんの書き込み (2005-01-13 19:10) より:
皆さんがいろいろと書き込まれていますが、結論だけを書いちゃいましょう。
アクセスログファイルを削除もしくは別の場所に移動して、

# /usr/local/apache/bin/apachectl restart

とやってください。新たに作成されるはずです。




できました。ありがとうございます。accsess_logを自分で作るのではなく、削除した状態だと新しく作成されて、書き込まれるようになりました。

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