awstats Shellscript

tomic

New Member
/usr/share/awstats/tools/update.sh

Code:
#!/bin/sh
##
## update.sh, written by Sergey B Kirpichev <skirpichev@gmail.com>
##
## Update AWStats data for all configs, awstats.*.conf (Debian specific)
##

set -e

DEFAULT=/etc/default/awstats
AWSTATS=/usr/lib/cgi-bin/awstats.pl
ERRFILE=`mktemp --tmpdir awstats.XXXXXXXXXX`

trap 'rm -f $ERRFILE' INT QUIT TERM EXIT

[ -f $AWSTATS ] || exit 1

# Set defaults.
AWSTATS_NICE=10
[ ! -r "$DEFAULT" ] || . "$DEFAULT"

cd /etc/awstats

for c in `/bin/ls -1 awstats.*.conf 2>/dev/null | \
          /bin/sed 's/^awstats\.\(.*\)\.conf/\1/'` awstats
do
  if ! nice -n $AWSTATS_NICE $AWSTATS \
      -config=$c \
      -update >$ERRFILE 2>&1
  then
    cat $ERRFILE >&2 # an error occurred
  fi
done

Das obenstehende Standardskript passt bei mir nicht da ich die aus dem Skript entstehenden Dateien mit speziellen Rechten erstellen muss. Bei mir läuft jede Domain unter dem entsprechenden User. Als Standard wird das Skript einfach für alle Configs als www-data user ausgeführt.

Meine awstats confignamen sehen so aus:
awstats.user12345.www.domain.de.conf
awstats.user23456.www.domain2.de.conf

In etwa müsste also folgende Zeile entstehen, je config eben eine dieser Zeilen, welche dann durch den cron ausgeführt wird.
user12345 /usr/lib/cgi-bin/awstats.pl -config=user12345.www.domain.de -update > /dev/null

Das ich sudo brauche vermute ich schon, wie aber muss ich das skript anpassen um zu erreichen, dass die awstats db für domain mit dem User im confignamen erstellt wird?

Gruß tomic
 
Back
Top