プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。
apacheのアクセスログが大きくなり、ディスクが切迫してきましたので
整理をしたいと思っています。

# cd /var/log/httpd/
# mv access_log access_log .bk
# touch access_log
# gzip access_log .bk
# rm access_log .bk


とりあえずの方法で考えていますが問題ないでしょうか?
Apacheを再起動は必要でしょうか?再起動した場合、なにか利用者
から停止?が見えてしまいますでしょうか?

また、恒久的にログをローテ(整理)ができますでしょうか?

よろしくお願い致します。

A 回答 (2件)

apacheの再起動は必要です。

再起動しないと、access_log.bkに書き続けます。
touch access_logは不要です。新しいプロセスが作成してくれます。
なおapacheの再起動はrestartではなくgracefulを使用すれば実質的にサービス停止は起きません。

余計なことですが、rm access_log.bkも必要ありません。というかできません。
gzipは元ファイルそのものを圧縮します。


>また、恒久的にログをローテ(整理)ができますでしょうか?

apache付属のlotatelogsを使用するのが一般的だと思います。manで使い方を調べてみてください。毎日とか毎月ごとにローテートしてくれます。
うちではcronologを使用していますが、こちらはさらにディレクトリ作成までしてくれるので、年ごととか月ごとに別ディレクトリに分類できます。
上記2種であれば都度apacheのリスタートは不要です。

logrotateでも可能ですが、こちらはapacheのリスタートが必ず必要です。
    • good
    • 0

anasui1118さん、こんにちは。



方法自体は問題ありませんが、ログファイルを生成した時点でapacheの再起動はした方が良いですね。
再起動した場合は、当然ですがapacheが閲覧させているwebページが参照不可能になります。

ただ、時間が掛かるわけではないですし、セッションを必要とするようなページでなければほとんど利用者にはわからないと思います。
セッションを必要とするようなwebページは、ログアウトされるので利用者にわかってしまいます。ただのhttpのみであれば更新や閲覧開始をちょうど再起動の瞬間に実施されなければ、エラー画面に遷移することはありません。仮にエラー画面に遷移しても再アクセスした時点で閲覧できる状態になっています。


>また、恒久的にログをローテ(整理)ができますでしょうか?
OSがLinux系であれば、logrotateという機能がありますので、それを利用することでanasui1118さんが手動で
実施されようとしていることを自動で行ってくれます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!