[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Estatística nervosa
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Estatística nervosa |
Date: |
Fri, 3 Oct 2003 11:25:40 -0300 |
Olá Fagner,
não tem nada de complicado. A única complicação em shell é vc descobrir a
melhor forma de fazer. Com certeza outras soluções surgirão na lista
baseadas em sed que devem ser mais eficazes que esta. Mas o tempo para mim
está muito escasso e esta foi a solução + rápida para mim.
para formatar a impressão use o cmd printf.
$cat lelog.sh
DInv=
InverteData ()
{
echo `echo $1 | cut -c5-``echo $1 | cut -c3-4``echo $1 | cut -c-2`
}
DIni=`InverteData $2`
DFim=`InverteData $3`
Cmd='grep "^$1 " a'
[ "$1" = \* ] && Cmd='cat a'
eval $Cmd | tr -s ' ' | while read c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12
c13
do
Dta=`InverteData $c2`
[ $Dta -lt $DIni ] && continue
[ $Dta -gt $DFim ] && break
echo $c1 $c2 $c3 $c4 $c5 $c6 $c7 $c8 $c9 $c10 $c11 $c12 $c13
done
$ lelog.sh \* 01102003 02102003
node1 01102003 suporte 6360 98.2 15.6 1252 348 pts/0 R 23:41 7:36 cat
/dev/zero
node2 01102003 suporte 6362 98.2 15.6 1253 348 pts/0 R 23:41 7:36 cat
/dev/zero
node3 01102003 suporte 6364 98.2 15.6 1254 348 pts/0 R 23:41 7:36 cat
/dev/zero
node4 01102003 suporte 6366 98.2 15.6 1255 348 pts/0 R 23:41 7:36 cat
/dev/zero
node1 02102003 ramone 4468 99.9 84.6 6252 348 pts/0 R 20:01 5:31 cat ./flame
node2 02102003 ramone 4460 99.9 85.6 6252 348 pts/0 R 20:01 5:31 cat ./flame
node3 02102003 ramone 4430 99.9 85.6 6254 348 pts/0 R 20:01 5:31 cat ./flame
node4 02102003 ramone 2320 99.9 65.6 6257 348 pts/0 R 20:01 5:31 cat ./flame
$ lelog.sh node2 01102003 02102003
node2 01102003 suporte 6362 98.2 15.6 1253 348 pts/0 R 23:41 7:36 cat
/dev/zero
node2 02102003 ramone 4460 99.9 85.6 6252 348 pts/0 R 20:01 5:31 cat ./flame
[ ]s,
Julio Cezar Neves
-Programa de Software Livre da DATAPREV-
-I Support Free Software-
* +55 21 2528-7070 / +55 21 8112-9988
*address@hidden
> -----Mensagem original-----
> De: Fagner Goncalves [mailto:address@hidden]
> Enviada em: sexta-feira, 3 de outubro de 2003 00:46
> Para: shell script; address@hidden
> Assunto: [shell-script] Estatística nervosa
>
>
>
> Olá pessoal,
> Problema mais complicado, a gente recorre a gurus.
> Vamos la então:
> Suponham o seguinte arquivo de log :
>
> ===============================
> NODE--DATA-----USER----PID--%CPU-%MEM-VSZ--RSS-TTY---STAT-INIC
> IO---TEMPO-COMANDO----------
> node1 01102003 suporte 6360 98.2 15.6 1252 348 pts/0 R
> 23:41 7:36 cat /dev/zero
> node2 01102003 suporte 6362 98.2 15.6 1253 348 pts/0 R
> 23:41 7:36 cat /dev/zero
> node3 01102003 suporte 6364 98.2 15.6 1254 348 pts/0 R
> 23:41 7:36 cat /dev/zero
> node4 01102003 suporte 6366 98.2 15.6 1255 348 pts/0 R
> 23:41 7:36 cat /dev/zero
> node1 02102003 ramone 4468 99.9 84.6 6252 348 pts/0 R
> 20:01 5:31 cat ./flame
> node2 02102003 ramone 4460 99.9 85.6 6252 348 pts/0 R
> 20:01 5:31 cat ./flame
> node3 02102003 ramone 4430 99.9 85.6 6254 348 pts/0 R
> 20:01 5:31 cat ./flame
> node4 02102003 ramone 2320 99.9 65.6 6257 348 pts/0 R
> 20:01 5:31 cat ./flame
> node1 03102003 ftandi 2468 59.7 23.1 5152 348 pts/0 R
> 10:01 1:31 cat ./smog
> node2 03102003 ftandi 2460 59.7 23.1 5152 348 pts/0 R
> 10:01 1:31 cat ./smog
> node3 03102003 ftandi 2430 59.7 23.1 5154 348 pts/0 R
> 10:01 1:31 cat ./smog
> node4 03102003 ftandi 1320 59.7 23.1 5157 348 pts/0 R
> 10:01 1:31 cat ./smog
> ....
> ===============================
>
> O usuário poderá digitar:
>
> $nodestat.sh <node> <data-inicial> <data-final>
>
> saida esperada:
>
> =================================================================
> Médias Estatisticas para o(s) node(s) selecionado(s) no período :
> ====== ============ ==== ==== ======= ============== == =========
> ___ ___
> NODE DATAIN DATAFIN CPU MEM
> MAIOR_USUARIO PID COMANDO
>
> node1 01102003 03102003 85.9 41.1 ramone
> 4468 ./flame
> ...
> ...
> ...
>
> --------------------------------------------------------------
> ------------------------
> - Caso ele coloque um asterisco no parametro node,
> fazer para todos os nodes.
> - Os campos MAIOR_USUARIO e COMANDO não refletem o
> processamento e memoria utilizado
> pelo usuario, e sim do node.
> ___ ___
> CPU e MEM = media de cpu e mem utilizada (soma tudo
> relativo aos nodes e divide pelos
> numero de vezes que eles aparecem entre as
> datas cedidas pelo usuario)
>
> Pegaram pesado comigo...
> O que acham ?
> Idéias por onde começar ?
>
>
> PS: Mandei para as duas listas que assino pois o
> assunto é pertinente nas mesmas.
>
> Abraço,
>
> Fagner Gonçalves
> IAG - ACA - USP
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
- RES: [shell-script] Estatística nervosa,
Julio Cezar Neves - DATAPREVRJ <=