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

[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 



reply via email to

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