shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Script para automatizar atualização do AWStats


From: Fabrício Carvalho Ferreira
Subject: RES: [shell-script] Script para automatizar atualização do AWStats
Date: Mon, 5 Sep 2005 14:14:30 -0300

Pô se ajuda!
 
Valeu!!

  _____  

De: address@hidden [mailto:address@hidden]
Em nome de MrBiTs
Enviada em: segunda-feira, 5 de setembro de 2005 14:14
Para: address@hidden
Assunto: RE: [shell-script] Script para automatizar atualização do AWStats


Nem é tão grande... Podemos fazer por aqui.

A lógica da coisa é a seguinte:

O script awstats.sh copia os logs do servidor IIS, que gerencia alguns
sites. A partir de um arquivo sites.txt, o nome dos websites é lido e o
diretório de log de cada um deles é passado como parametro para uma conexão
FTP que copia os logs de ontem para uma estrutura abaixo do diretório de
logs do apache. Então, a ferramenta de processamento do awstats é chamada,
gerando um log para o processamento e enviando-o por e-mail.

1) Conteúdo do arquivo sites.txt
www.site1.com.br^W3SVC286543210
www.site2.com.br^W3SVC286543210
www.site3.com.br^W3SVC286543210


2) Script awstats.sh
#!/bin/bash

IP=192.168.0.10
USER=iislogs
PASS=senhadoiislogs
DATE=`date +%y%m%d -d yesterday` > /var/log/awstats.log
LOGFILE="ex$DATE.log"

while read LINHA ; do
        HOST=`echo $LINHA | cut -d "^" -f 1`
        DIR=`echo $LINHA | cut -d "^" -f 2`
        LOGDIR=$DIR
        LOCAL=/usr/apache/logs/$HOST
        echo "`date +%d/%m/%Y\ %H:%M:%S` - Iniciando Copia de Logs de $HOST"
>> /var/log/awstats.log
        cd $LOCAL || { 
                        mkdir $LOCAL 
                        cd $LOCAL 
                     }
        if [ $? -gt 0 ] ; then
                echo "`date +%d/%m/%Y\ %H:%M:%S` - Erro acessando diretorio
$LOCAL" >> /var/log/awstats.log
                exit
        fi

ftp -n $IP <<_EOT_
user $USER $PASS
cd $LOGDIR
get $LOGFILE
bye
_EOT_
done < /usr/local/bin/sites.txt

echo "`date +%d/%m/%Y\ %H:%M:%S` - Final de Copia de Logs" >> >
/var/log/awstats.log

/usr/local/awstats/tools/awstats_updateall.pl now >> /var/log/awstats.log
2>&1 ; 

/usr/local/bin/monitora.sh address@hidden /var/log/awstats.log





3) monitora.sh

#!/bin/bash

Usage () {
        echo "Uso: $(basename $0) email arquivo"
}

if [ $# -ne 2 ] ; then
        Usage
        exit
fi

MAILADM=$1
FILENAME=$2

metasend -e "7bit" -s "Monitoracao de Processos: $FILENAME" -t "$MAILADM" -F
address@hidden -b -m text/plain -f $FILENAME >/dev/null 2>&1



Acho que isso já te ajuda bastante.


------------------------------------------
http://www.mrbits.com.br/

"There is still more Unix-nature in one
line of shell script than there is in ten
billion lines of C" 
Master Foo - Sh-bng Province - 530 B.C.

"Programar em shell scritp é a coisa mais gostosa que você pode fazer
vestido"
Julio C. Neves - 10/08/2005



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------




Yahoo! Grupos, um serviço oferecido por:        

PUBLICIDADE


 
<http://br.rd.yahoo.com/SIG=12fndl8gf/M=365837.7000707.7924794.2369893/D=brc
lubs/S=2137111254:HM/Y=BR/EXP=1125947366/A=2950750/R=2/id=noscript/SIG=10tif
t5qr/*http://br.movies.yahoo.com/> 

  _____  

Links do Yahoo! Grupos


*       Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
  

*       Para sair deste grupo, envie um e-mail para:
address@hidden
<mailto:address@hidden?subject=Unsubscribe> 
  

*       O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> . 




[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]