summaryrefslogtreecommitdiff
path: root/localwebstats
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2002-01-04 13:51:09 +0000
committerJonas Smedegaard <dr@jones.dk>2002-01-04 13:51:09 +0000
commit0ffc7db8b2140c3ed6e6e3898236e34875737bc8 (patch)
tree45557aa7bd09f2d2181a5ec81047098961915506 /localwebstats
parentbe4f7b597cde9230b0cba80c326d83badf2bf55e (diff)
Spit out reason when exiting, add new hints LOGFILESRESOLVED and LOGFILESRESOLVEDGZ, and support empty output of logfile hints
Diffstat (limited to 'localwebstats')
-rwxr-xr-xlocalwebstats59
1 files changed, 37 insertions, 22 deletions
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