[glux] Statistiche ppp
@arminillo
carminillo@tiscali.it
Lun 14 Giu 2004 08:23:25 CEST
Maxxer wrote:
> Il dom, 2004-06-13 alle 06:49, @arminillo ha scritto:
>
>
>>Mi sa che devo vedere Oracle che controllo fa... perchè te lo installa
>>solo se la distro è RedHat
>
>
> che centra oracle?
Oracle ha uno script bash che rileva se la tua distro è RH... altrimenti
non te lo installa. Potrei vedere i criteri che utilizza no!?!
>
>
>>>/usr/local/bin/pppstat.sh | mail -s 'Statistiche ppp' maxxer < -
>>
>>A dire il vero una cosa simile l'avevo già fatta... ovviamente non mi
>>aspetto che le persone in lista abbiano un server di posta semi
>>casalingo e quindi ho pensato che fosse inutile.... comunque la tua
>>stringa potrebbe essere corretta ;) (Meglio mailx... magari ti uuencodi
>
>
> poi l'ho provata, ma non funziona, mi da errore...
> tra l'altro ci sarebbe da parametrizzare il mese!!
> mailx non ce l'ho installato su rh.
>
>
>>Il timestamp dove?
>
>
> beh in effetti c'è la data della mail.
>
>
Comunque ho fatto delle modifiche....
#!/bin/bash
if [ $# -ne 2 ]
then
printf "\n\tUSA: $(basename $0) <Unità di misura (b k o M)>
<Month (Gen,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)> <maildest
(NONE se non hai un server di posta locale o non vuoi ricevere
l'email)>\n\n"
exit 1
fi
TS=$(date +%d%m%YYYY"_"%H%M)
mese=$2
MAILDEST=$3
OUTCSV="${TS}_stat_${mese}.csv"
case $1 in
b) moltiplicatore=1 && unit=bytes ;;
M) moltiplicatore=0.000001 && unit=Mbyte ;;
k) moltiplicatore=0.001 && unit=kbyte ;;
*) echo "Errore nel formato dati richiesto... esco" && exit 2 ;;
esac
### I parametri qui configurati vanno bene per quasi tutte le
distrubuzioni... motivo per modificarli
### può essere quello di una personalizzazione del demone ppp o della
dir/log di sistema
DIRLOG=/var/log ## Indica la dir nella quale è contenuto il log da
analizzare
LOG=syslog ## Indica il log da analizzare
PPPSTRING=pppd ## Indica la stringa gestita dal demone ppp
##################################################################################################################
cd $DIRLOG
printf "\n\tGeneratore di stastiche ppp\n"
function inviati {
grep $PPPSTRING $LOG | grep Sent | grep ^${mese} | awk -v
moltiplicatore=$moltiplicatore '{sum += $7;} END { printf "%.02f", sum *
moltiplicatore;}'
}
function ricevuti {
grep $PPPSTRING $LOG | grep Sent | grep ^${mese} | awk -v
moltiplicatore=$moltiplicatore '{sum += $10;} END { printf "%.02f", sum
* moltiplicatore;}'
}
function totali {
grep $PPPSTRING $LOG | grep Sent | grep ^${mese} | awk -v
moltiplicatore=$moltiplicatore '{sum += $10;} {summ += $7;} END { printf
"%.02f", (sum + summ) * moltiplicatore; }'
}
printf "\nMese richiesto\t::\t${mese}\n\n"
printf "Inviati\t\t::\t$(inviati)${unit}\n"
printf "Ricevuti\t::\t$(ricevuti)${unit}\n\n"
printf "TOT\t\t::\t$(totali)${unit}\n\n"
if [ $MAILDEST = NONE ]
then
exit
else
### GENERAZIONE FILE CSV E INVIO VIA MAIL ###
echo "Mese;Inviati;Ricevuti;Totali" > $OUTCSV
echo "${mese};$(inviati);$(ricevuti);$(totali)" >> $OUTCSV
{ echo "In allegato il report di ${mese} aggiornato al ${TS}"; uuencode
$OUTCSV $OUTCSV; } | mailx -s "PiPiPistat :: $mese () $TS" $MAILDEST
if [ $? -eq 0 ]
then
echo "Email inviata all'indirizzo $MAILDEST"
else
echo "Probabilmente ci sono stati problemi nell'invio della mail...
controlla le impostazioni del tuo server smtp"
fi
fi
Maggiori informazioni sulla lista
glux