From 0ffc7db8b2140c3ed6e6e3898236e34875737bc8 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Fri, 4 Jan 2002 13:51:09 +0000 Subject: Spit out reason when exiting, add new hints LOGFILESRESOLVED and LOGFILESRESOLVEDGZ, and support empty output of logfile hints --- localwebstats | 59 +++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 22 deletions(-) (limited to 'localwebstats') diff --git a/localwebstats b/localwebstats index fe93441..0f331f8 100755 --- a/localwebstats +++ b/localwebstats @@ -12,6 +12,12 @@ function usage() { exit 1 } +function exit1() { + echo "Error: $1" + echo "Exiting..." + exit 1 +} + # automagically configure when run from cron dirs case `dirname $0` in /etc/cron.daily) @@ -47,20 +53,23 @@ fi WEBROOT=/var/www LOGROOT=/var/log/apache WEBALIZER_OPTIONS="-q" - -function webdir() { echo $1/VIRTUAL/$2; } -function webdirs() { echo `find /var/log/apache -type d -print`; } -#function webdirs() { for dir in $(find ${LOGROOT} -type d -print); do echo $dir; done; } -#function logdir() { echo ${LOGROOT}/${WEBSITE}; } -#function logfiles() { $(ls -r $LOGDIR/*-access*.gz) $(ls -r $LOGDIR/access*.??.gz) $(ls -r $LOGDIR/access*.?.gz) $(ls -r $LOGDIR/access*.?); } -function logfiles() { ls $1/$2/????.??.??; } -function logfilesgz() { ls $1/$2/????.??.??.gz; } -function host() { cat $1/VIRTUAL/$2/hostname || exit 1; } -function domain() { cat $1/VIRTUAL/$2/domainname || exit 1; } +WEBALIZER_OPTIONS="-Q" + +function webdir() { echo $1/VIRTUAL/$2; } +function webdirs() { echo `find /var/log/apache -type d -print`; } +#function webdirs() { for dir in $(find ${LOGROOT} -type d -print); do echo $dir; done; } +#function logdir() { echo ${LOGROOT}/${WEBSITE}; } +#function logfiles() { $(ls -r $LOGDIR/*-access*.gz) $(ls -r $LOGDIR/access*.??.gz) $(ls -r $LOGDIR/access*.?.gz) $(ls -r $LOGDIR/access*.?); } +function logfiles() { ls $1/$2/????.??.?? | grep -v '\.00$'; } +function logfilesgz() { ls $1/$2/????.??.??.gz | grep -v '\.00\.gz$'; } +function logfilesresolved() { ls $1/$2/????.??.00; } +function logfilesresolvedgz() { ls $1/$2/????.??.00.gz; } +function host() { cat $1/VIRTUAL/$2/hostname || exit1 "Unable to get hostname for virtual host."; } +function domain() { cat $1/VIRTUAL/$2/domainname || exit1 "Unable to get domainname for virtual host."; } # The above can be overridden in /etc/local/www -. /etc/local/www || exit 1 +. /etc/local/www || exit1 "Unable to read local preferences" # variables too boring to be configurable JDRESOLVE_DB="/var/cache/jdresolve/hosts.db" @@ -68,7 +77,8 @@ JDRESOLVE_DB="/var/cache/jdresolve/hosts.db" JDRESOLVE_OPTIONS="-r --database=${JDRESOLVE_DB} --dbfirst --expiredb=48" JDRESOLVE_MERGE_OPTIONS="--mergedb --database=${JDRESOLVE_DB}" -test -d ${WEBROOT} -a -d ${LOGROOT} || exit 1 +test -d ${WEBROOT} || exit1 "Webroot \"${WEBROOT}\" doesn't exist" +test -d ${LOGROOT} || exit1 "Logroot \"${LOGROOT}\" doesn't exist" WEBSITES=$@ if [ "$WEBSITES" == "" ]; then @@ -76,18 +86,20 @@ if [ "$WEBSITES" == "" ]; then fi for WEBSITE in $WEBSITES; do - WEBDIR=$(webdir $WEBROOT ${WEBSITE}) || exit 1 + WEBDIR=$(webdir $WEBROOT ${WEBSITE}) || exit1 "Unable to resolve WEBDIR." - test -d ${WEBDIR} || exit 1 + test -d ${WEBDIR} || exit1 "Webdir \"${WEBDIR}\" doesn't exist" - HOST=$(host ${WEBROOT} ${WEBSITE}) || exit 1 - DOMAIN=$(domain ${WEBROOT} ${WEBSITE}) || exit 1 - LOGFILES=$(logfiles ${LOGROOT} ${WEBSITE}) || exit 1 - LOGFILESGZ=$(logfilesgz ${LOGROOT} ${WEBSITE}) || exit 1 + HOST=$(host ${WEBROOT} ${WEBSITE}) || exit1 "Unable to get hostname for virtual host." + DOMAIN=$(domain ${WEBROOT} ${WEBSITE}) || exit1 "Unable to get domainname for virtual host." + LOGFILES=$(logfiles ${LOGROOT} ${WEBSITE}) + LOGFILESGZ=$(logfilesgz ${LOGROOT} ${WEBSITE}) + LOGFILESRESOLVED=$(logfilesresolved ${LOGROOT} ${WEBSITE}) + LOGFILESRESOLVEDGZ=$(logfilesresolvedgz ${LOGROOT} ${WEBSITE}) if [ -x /usr/bin/jdresolve ]; then [ ${DEBUG} ] && echo "Checking access to ${JDRESOLVE_DB}" - touch ${JDRESOLVE_DB} || exit 1 + touch ${JDRESOLVE_DB} || exit1 "Couldn't touch JDRESOLVE_DB" fi WEBALIZER_OPTIONS="-c /etc/webalizer.conf -c $WEBDIR/webalizer.conf -o $WEBDIR/stats/webalizer -f" @@ -114,15 +126,18 @@ for WEBSITE in $WEBSITES; do fi LOGDATA="${WEBDIR}/stats/rawlog.txt" + LOGDATATMP="${WEBDIR}/stats/rawlog_tmp.txt" + zcat ${LOGFILESRESOLVEDGZ} > ${LOGDATA} + cat ${LOGFILESRESOLVED} >> ${LOGDATA} if [ -x /usr/bin/jdresolve ]; then - zcat ${LOGFILESGZ} | jdresolve ${JDRESOLVE_OPTIONS} - > ${LOGDATA} + zcat ${LOGFILESGZ} | jdresolve ${JDRESOLVE_OPTIONS} - >> ${LOGDATA} cat ${LOGFILES} | jdresolve ${JDRESOLVE_OPTIONS} - >> ${LOGDATA} jdresolve ${JDRESOLVE_MERGE_OPTIONS} ${LOGDATA} elif [ -x /usr/sbin/logresolve ]; then - zcat ${LOGFILESGZ} | logresolve > ${LOGDATA} + zcat ${LOGFILESGZ} | logresolve >> ${LOGDATA} cat ${LOGFILES} | logresolve >> ${LOGDATA} else - zcat ${LOGFILESGZ} > ${LOGDATA} + zcat ${LOGFILESGZ} >> ${LOGDATA} cat ${LOGFILES} >> ${LOGDATA} fi -- cgit v1.2.3