Linux,Unix,BSD/Apache, PHP

AWstats를 통하여 과거 로그를 자동으로 분석하는 스크립트.

채윤아빠 2008. 7. 2. 16:08
728x90
반응형

AWstats로 새로 웹로그 분석을 하는데, 기존에 백업 해 두었던 과거 웹로그를 분석하려니 여러 가지 번거로움이 있어서 아래와 같은 스크립트로 한방에 해결하였습니다.

참고로 과거 웹로그를 분석하기 위해서는 기존에 분석된 awstatsMMYYYY.esweb.txt 파일이 없어야 합니다.
하나라도 있고, 분석하려는 과거 자료가 남아 있는 데이터 파일보다 이전의 자료이면 추가로 분석되지 않습니다.
사전에 다른 디렉토리로 옮겨서 통계 데이터 파일(awstatsMMYYYY.esweb.txt) 파일이 없는 디렉토리에서 작업을 진행하시기 바랍니다.
 
awstats_update_all.sh

#!/bin/sh

if [ $# -ne 2 ]
then
        echo "Need filter"
        exit 65
fi

filter="$2*.log"
for list in $filter
do
        /usr/local/www/awstats/cgi-bin/awstats.pl -config=$1 -update -LogFile=$list
done

exit 0

사용법은 awstats_update_all.sh 스크립트에 두 가지 파라미터를 넘겨주어야 합니다.
첫 번째 것은 awstats의 환경파일 이름이고, 두 번째는 웹로그 파일의 접두어입니다.

예를 들어 mydomain이라는 설정에 2008년 6월 웹로그만 추가 분석시킬 경우에는 아래와 같이 합니다.

./awstats_update_all.sh mydomain access_log.200806