色々なことを徒然と……

かえでBlog

備忘録

AWStatsで日付のログを見に行く

投稿日:2010年9月3日 更新日:

前回、Apacheでローテーションの設定を行いました。

しかし、ローテーションを行ったせいかAWStatsが正常に動かなくなりました……

Vine5からはaccesslog.1のような数字ではなく、日付のローテーションになったためです。

/etc/logrotate.conf を見るとdateextという項目があったからなんですけど、数字よりも日付のほうが管理しやすいので、AWStatsのシェルスクリプトを変更することにしました。
#!/bin/sh

ALOG=/var/log/apache2/access_log
 A1LOG=/var/log/apache2/access_log-
 NEWLOG=/var/log/apache2/access_log.new
 UTF8LOG=/var/log/apache2/access_log.utf8
 UTF8DECODE=/home/hoge/public_html/awstats_utf8_decode.pl
 AWSTATS=/home/hoge/public_html/awstats_awstats.pl
 LOG=/var/log/awstats.log

#cat $ALOG > $NEWLOG

cat /var/log/apache2/test.txt > $NEWLOG

a=10
 while [ $a -ge 0 ]
 do
 a=`expr $a - 1`
 day=`date -d $a'days ago' '+%Y%m%d'`
 day2=$A1LOG$day
 if test -e $day2;
 then
 A2LOG=$A1LOG$day
 echo $day2"が対象です。"
 cat $day2 >> $NEWLOG

fi
 done
 cat $ALOG >> $NEWLOG
 echo $a
 $UTF8DECODE < $NEWLOG > $UTF8LOG

$AWSTATS -config=awstats.conf -update > $LOG
 chmod 600 $LOG
 


シェルスクリプトなんてほとんど使ったことがないのですごく適当です…w
単純に10日前までwhileで1日ずつlogファイルがあるか調べに行き、あれば連結作業なければ前の日を探すという
作業をしています。
参考までにどぞです。

スポンサードリンク

スポンサードリンク

-備忘録
-, , ,

Copyright© かえでBlog , 2018 All Rights Reserved.