Imported Debian patch 2.23.05-1
[hcoop/zz_old/debian/webalizer.git] / debian / webalizer.cron.daily
diff --git a/debian/webalizer.cron.daily b/debian/webalizer.cron.daily
new file mode 100644 (file)
index 0000000..e24d289
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh
+# /etc/cron.daily/webalizer: Webalizer daily maintenance script
+# This script was originally written by 
+# Remco van de Meent <remco@debian.org>
+# and now, all rewrited by Jose Carlos Medeiros <jose@psabs.com.br> 
+
+# 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;
+