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 <https://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

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.