#!/bin/sh # /etc/cron.daily/webalizer: Webalizer daily maintenance script # This script was originally written by # Remco van de Meent # and now, all rewrited by Jose Carlos Medeiros # This script just run webalizer against all .conf files in /etc/webalizer directory WEBALIZER=/usr/bin/webalizer WEBALIZER_CONFDIR=/etc/webalizer [ -x ${WEBALIZER} ] || exit 0; [ -d ${WEBALIZER_CONFDIR} ] || exit 0; for i in ${WEBALIZER_CONFDIR}/*.conf; do # exists ? [ -f $i ] || continue; # run agains a rotated or normal logfile LOGFILE=`awk '$1 ~ /^LogFile$/ {print $2}' $i`; # empty ? [ -s "${LOGFILE}" ] || continue; # readable ? [ -r "${LOGFILE}" ] || continue; # there was a output ? OUTDIR=`awk '$1 ~ /^OutputDir$/ {print $2}' $i`; # exists something ? [ "${OUTDIR}" != "" ] || continue; # its a directory ? [ -d ${OUTDIR} ] || continue; # its writable ? [ -w ${OUTDIR} ] || continue; # Run Really quietly, exit with status code if !0 ${WEBALIZER} -c ${i} -Q || continue; RET=$?; # Non rotated log file NLOGFILE=`awk '$1 ~ /^LogFile$/ {gsub(/\.[0-9]+(\.gz)?/,""); print $2}' $i`; # check current log, if last log is a rotated logfile if [ "${LOGFILE}" != "${NLOGFILE}" ]; then # empty ? [ -s "${NLOGFILE}" ] || continue; # readable ? [ -r "${NLOGFILE}" ] || continue; ${WEBALIZER} -c ${i} -Q ${NLOGFILE}; RET=$?; fi; done; # exit with webalizer's exit code exit $RET;