43 Apache のログのローテート

(二期工事行いました。もうしばらく様子見。)


「apacheのログをローテーションする【logrotate】の設定」 が分かりやすい。


少し読んで頭に入れてから、MacPorts でインストールして設定ファイルを用意する。
sudo port install logrotate
sudo cp -p /opt/local/share/logrotate/logrotate.conf.example  /opt/local/etc/logrotate.conf
sudo vi /opt/local/etc/logrotate.conf
sudo cp -p /opt/local/share/logrotate/org.macports.logrotate.plist.example /Library/LaunchDaemons/org.macports.logrotate.plist
sudo vi /Library/LaunchDaemons/org.macports.logrotate.plist
(vi でチェックして、何か変更したければということだけど、 今のところ変更なしでやっている。)

次に /opt/local/etc/logrotate.d/httpd を用意する。 これは雛形がないみたい。 上の WWW サイトにあった次の内容のファイルを作った。
/opt/local/etc/logrotate.d/httpd
/var/log/apache2/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
    endscript
}

こうして登録する。
sudo port load logrotate
これで決められた時間がくれば実行されるはず。 設定を変えた場合は
sudo port unload logrotate
sudo port load logrotate
とする。

いわゆるドライ・ラン (設定のチェック)
logrotate -d /opt/local/etc/logrotate.d/httpd
ローテーションの強制実行
sudo logrotate -f -v /opt/local/etc/logrotate.d/httpd


launch control については http://nalab.mind.meiji.ac.jp/~mk/knowhow-2020/node30.htmlに少し書いた。



桂田 祐史