Script de volcado de logs antiguos en AWSTATS

De Wikillano

Script de volcado de logs antiguos en AWSTATS

Este script vuelca todos los logs de apache del dominio que le pasamos como parámetro, una vez descomprmidos genera un log temporal desde el cual awstats actualiza sus estadísticas.

#! /bin/bash

DOMINIO=$1

if [ $DOMINIO != "" ] 2> /dev/null
then

        #descomprimimos los logs del dominio en cuestion
        cd /var/log/apache2
        gunzip $DOMINIO-access.log.* 


        #contamos los logs antiguos
        i=0
        for fichero in ls -lt $DOMINIO-access.log.*
        do
                ((i=i+1))
        done  

        #creamos un log temporal
        echo "" > access_tmp_awstats.log

        #volcamos los logs al log temporal
        j=1
       while test $j -le $i;
       do
               echo volcando $DOMINIO-access.log.$i
               cat $DOMINIO-access.log.$i >> access_tmp_awstats.log
               ((i=i-1))
       done

       #actualizando awstats
        perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=$DOMINIO -LogFile=/var/log/apache/access_tmp_awstats.log -update

       echo "Borrar el log temporal"
       #rm access_tmp_awstats.log
	
	#comprimimos los logs de nuevo
	gzip $DOMINIO-access.log.*
 else
 echo ERROR se debe pasar el dominio como parametro ej: canigo.atosorigin.es
 fi
Herramientas personales