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 '/LogFile/s/access-log(\.\w+)+/"'$NEW_FILE_NAME'"/' $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