Instalación y Configuracion de AWStats – Parte 3

    Antes de continuar se recomienda leer:

    Instalación y configuracion de AWStats – Parte 1

    Instalación y configuracion de AWStats – Parte 2

    En la parte 1 y 2 de esta seria aprendimos como instalar y configurar AWStats, en el día de hoy aprenderemos como actualizar las estadísticas desde la línea de comandos, para ello asumimos que Ud. tiene un servidor de estadísticas en el cual ha descargado los logs de su servidor web y AWStats puede acceder a los mismos y que el fichero log a parsear es el establecido en la directiva LogFile de la siguiente manera

    LogFile="gzip -d < /mnt/logs/www/access-log.20111030.gz |"
    

    Ahora solo queda ejecutar el siguiente comando

    /usr/share/awstats/wwwroot/cgi-bin/awstats.pl  -config=www.flossblog.com -update
    

    Script para automatizar la actualización de las estadíticas

    #!/usr/bin/env bash
    # GNU Bash shell script para automatizar la actualización
    # de estadísticas AWStats
    # ---------------------------------------------------------------
    # Copyleft 2011 Yoander Valdés (sedlav) Rodríguez <http://www.librebyte.net/>
    # Este script es liberado bajos los téminos de la GNU GPL
    # version 2.0 o superior
    # --------------------------------------------------------------
    # Uso:
    # El script se conecta al servidor web remoto descarga el fichero
    # log especificado en FILE_NAME lo renombra a NEW_FILE_NAME luego
    # modifica el fichero de configuración espeficicado en CONF_FILE
    # actualizando la directiva LogFile, actualiza las estadísticas 
    # y envía un reporte a ADMIN 
    # --------------------------------------------------------------
    # Última actualización: 3 de noviembre del 2011
    # -------------------------------------------------------------
    #
    # Fecha actual en el formato Ymd
    #
    CURRENT_DATE=$(date +%Y%m%d)
    #
    # Servidor web remoto
    #
    SRC_SRV=
    #
    # Lugar donde se encuentra los ficheros logs en el servidor remoto 
    #
    SRC_PATH=/var/log/httpd/
    #
    # Nombre del fihero log a descargar
    #
    FILE_NAME=access_log.1.gz
    #
    # Lugar donde se guardara localmente el fichero log
    #
    DEST_PATH=/mnt/logs/www/
    #
    # Nuevo Nombre del fichero para evitar colisiones
    #
    NEW_FILE_NAME=access-log.$CURRENT_DATE.gz
    #
    # Fichero de configuración AWStats para tu sitio web
    #
    CONF_FILE=/etc/awstats/awstats.www.flossblog.com.conf
    #
    #
    AWSTATS_PL='/usr/share/awstats/wwwroot/cgi-bin/awstats.pl'
    #
    # Log del proceso de actualización
    #
    LOG=/var/log/update.awstats.log 
    #
    # Correo al que se le enviara el reporte de actualización
    ADMIN=
    
    echo "Starting AWSTATS update proccess for www.flossblog.com, DATE: $(date)" > $LOG
    
    # Write a blank line
    echo -e "n"
    
    # Conexión al servidor remoto y descarga el log, en caso de conexion fallida
    # reintenta cada 2 horas. Asume conexión SSH sin teclear contraseña
    while ! rsync -e ssh -avz root@$SRC_SRV:$SRC_PATH$FILE_NAME $DEST_PATH 2>> $LOG; do
            sleep 2h
    done
    
    # Actualiza la directiva LogFile especificando el nuevo fichero log
    sed -i -r  's/(^LogFile=.*/)access-log.*(s+|?)"/1'$NEW_FILE_NAME'2"/' $CONF_FILE
    
    
    # Actualiza la estadísticas y crea reporte 
    (cp -vpf $DEST_PATH$FILE_NAME $DEST_PATH$NEW_FILE_NAME && rm -fv $DEST_PATH$FILE_NAME && $AWSTATS_PL -config=www.flossblog.com -update) >> $LOG
    
    # Envio de correo al administrador
    mail -s "AWSTATS Update Proccess"  $ADMIN  < $LOG
    

    Lecturas recomendadas

    Proyecto AWStats




    Dejar un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *