実験サーバの http ログをとっていなかったのでとるようにした。

ServerRoot /srv/www な状態で、とりたいホストの VirtualHost 以下に CustomLog {domain-name}/log/access.log combined を追記

logrotated の設定 (/etc/logrotate.d/apache2) を以下のように変更

/srv/www/*/log/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
EXT=`date +%Y%m%d`
for f in $1;
do mv $f.1 $f.$EXT;
done
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}

これであってるのかよくわからない。ローテーションってどうやってテストすればいいんだろ


あとは visitors を入れて CRON させることにした。

日付にするには単に dateext って書けばいいよ。って drry さんに教えてもらった。ので、EXT..done まで消して dateext を加えた。


logrotate を試したいときは logrotate -d /etc/logrotate.d/apache2 とかすればいいらしい。

  1. トップ
  2. net
  3. Apache2 ログ
▲ この日のエントリ