apacheログを日毎に分割メモ

  1. Apacheのaccess-log、error-logを別ディレクトリへ1日ごとに分割保存する。
  2. 分割と同時に Webalizerで集計する。

(Webalizerはインストール済みであること)

  • 分割したlogを保存するディレクトリ作成
# mkdir /var/log/logs
  • pidファイルの確認をする。
# locate httpd.pid
/var/run/httpd.pid
  • 切り分けスクリプトの作成
# vi access_log.sh
>#! /bin/sh
cd /var/log
mv httpd-access.log /var/log/logs/access-log.`date '+%y%m%d-%H%M'`
mv httpd-error.log /var/log/logs/error-log.`date '+%y%m%d-%H%M'`
/usr/local/bin/ja-webalizer -c /usr/local/etc/webalizer.conf
-p /var/log/logs/access-log.`date '+%y%m%d-%H%M'` >/dev/null 2>&1
kill -USR1 `cat /var/run/httpd.pid`
  • パーミッションを変更する。
# chmod 0755 access_log.sh
  • cronに登録する。
# crontab -e
00* * * sh /スクリプトを作成したディレクトリ/access_log.sh

0時にapacheログの分割・Webalizerの集計を行う。

webalizer

webalizer