wok annotate awstats/stuff/update @ rev 5959
awstats: avoid alias conflicts + update script
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Aug 04 11:50:34 2010 +0200 (2010-08-04) |
parents | |
children |
rev | line source |
---|---|
pascal@5959 | 1 #!/bin/sh |
pascal@5959 | 2 |
pascal@5959 | 3 list_vhosts() |
pascal@5959 | 4 { |
pascal@5959 | 5 [ -d /etc/apache ] && cat /etc/apache/conf.d/* | awk ' \ |
pascal@5959 | 6 /ServerName/ { name=$2 } |
pascal@5959 | 7 /CustomLog/ { file=$2 } |
pascal@5959 | 8 { |
pascal@5959 | 9 if ( name != "" && file != "" ) { |
pascal@5959 | 10 printf "%s %s\n",name,file |
pascal@5959 | 11 name="" |
pascal@5959 | 12 file="" |
pascal@5959 | 13 } |
pascal@5959 | 14 } |
pascal@5959 | 15 ' | sed '/localhost/d;/\//!d' |
pascal@5959 | 16 [ -d /etc/lighttpd ] && grep -v '^ *#' /etc/lighttpd/vhosts.conf | awk ' \ |
pascal@5959 | 17 /HTTP."host"/ { name=$3 ; file="" } |
pascal@5959 | 18 /accesslog.filename/ { file=$3 } |
pascal@5959 | 19 { |
pascal@5959 | 20 if ( name != "" && file != "" ) { |
pascal@5959 | 21 printf "%s %s\n",name,file |
pascal@5959 | 22 name="" |
pascal@5959 | 23 } |
pascal@5959 | 24 } |
pascal@5959 | 25 ' | sed 's/\$//;s/\^//;s/\\//g;s/"//g;/(/d' |
pascal@5959 | 26 } |
pascal@5959 | 27 |
pascal@5959 | 28 cd /etc/awstats |
pascal@5959 | 29 |
pascal@5959 | 30 list_vhosts | while read name logfile; do |
pascal@5959 | 31 [ -s $logfile ] || continue |
pascal@5959 | 32 [ -s /etc/awstats/awstats.$name.conf ] && continue |
pascal@5959 | 33 mkdir -p /var/lib/awstats/$name |
pascal@5959 | 34 sed -e "s|LogFile=.*|LogFile=\"$logfile\"|" \ |
pascal@5959 | 35 -e "s|SiteDomain=.*|SiteDomain=\"$name\"|" \ |
pascal@5959 | 36 -e "s|DirData=.*|DirData=\"/var/lib/awstats/$name\"|" \ |
pascal@5959 | 37 -e "s|LogoLink=.*|LogoLink=\"http://$name/\"|" \ |
pascal@5959 | 38 < /etc/awstats/awstats.model.conf > /etc/awstats/awstats.$name.conf |
pascal@5959 | 39 done |
pascal@5959 | 40 |
pascal@5959 | 41 for i in $(grep -l '^DirData="/var/lib/awstats' *.conf); do |
pascal@5959 | 42 /var/www/cgi-bin/awstats.pl \ |
pascal@5959 | 43 config=$(echo $i | sed 's/awstats\.\(.*\)\.conf/\1/') -update |
pascal@5959 | 44 done |