[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [shell-script] Script para automatizar atualização do AWStats
From: |
MrBiTs |
Subject: |
RE: [shell-script] Script para automatizar atualização do AWStats |
Date: |
Mon, 5 Sep 2005 14:14:21 -0300 |
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
- Re: [shell-script] Envio de email vi telnet?, (continued)
- Re: [shell-script] Envio de email vi telnet?, Eliphas Levy Theodoro, 2005/09/01
- Re: [shell-script] Envio de email vi telnet?, Marco Sinhoreli, 2005/09/02
- Re: [shell-script] Envio de email vi telnet?, Edimar Fardim, 2005/09/05
- Re: [shell-script] Envio de email vi telnet?, Tiago Barcellos Peczenyj, 2005/09/05
- Re: [shell-script] Envio de email vi telnet?, Edimar Fardim, 2005/09/05
- Re: [shell-script] Envio de email vi telnet?, Eliphas Levy Theodoro, 2005/09/05
- Script para automatizar atualização do AWStats, Fabrício Carvalho Ferreira, 2005/09/05
- Re: [shell-script] Script para automatizar atualização do AWStats, Tiago Barcellos Peczenyj, 2005/09/05
- RE: [shell-script] Script para automatizar atualização do AWStats, MrBiTs, 2005/09/05
- RES: [shell-script] Script para automatizar atualização do AWStats, Fabrício Carvalho Ferreira, 2005/09/05
- RE: [shell-script] Script para automatizar atualização do AWStats,
MrBiTs <=
- RES: [shell-script] Script para automatizar atualização do AWStats, Fabrício Carvalho Ferreira, 2005/09/05
- RE: [shell-script] Script para automatizar atualização do AWStats, MrBiTs, 2005/09/05