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

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

Re: [shell-script] Rotina de consumo de IO


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Rotina de consumo de IO
Date: Thu, 30 Nov 2006 16:53:02 -0200

Andre,

vc está fazendo comparações pelo shell, e normalmente estas
comparações numéricas esperam numeros inteiros.

sugiro esta troca

iostat -x 300 1| awk '(NR > 2 && $4 > 0 && $5 > 0){ print $1,$4,$5 }' | ...

conforme lhe mandei via PVT, mas isso pode servir pra mais alguem também

On 11/30/06, Andre Campos <address@hidden> wrote:






Valeu, mais agora está dando outro erro..

 io.sh: [: %sys: integer expression expected
 io.sh: [: 66.54: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: r/s: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 76.08: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 0.00: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 6.27: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 1.86: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 0.00: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 0.04: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 0.00: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 67.91: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 28.03: integer expression expected
 io.sh: [: too many arguments
 io.sh: [: 28.03: integer expression expected
 io.sh: [: too many arguments

 Este script deveria pegar o resultado do iostat e inserir em uma tabela no 
banco...

 Valeu!!!

 André Campos

 ---------- Início da mensagem original -----------

 De: address@hidden
     Para: address@hidden
       Cc:
     Data: Thu, 30 Nov 2006 16:11:40 -0200
  Assunto: Re: [shell-script] Rotina de consumo de IO

 > seu erro está aqui:
 >
 > if [ $VMSTAT_IO_R -gt 0 ] and [ $VMSTAT_IO_W -gt 0 }
 >
 > deveria ser
 >
 > if [ "${VMSTAT_IO_R}" -gt 0 -a "${VMSTAT_IO_W}" -gt 0 ]
 >
 > O que deveria fazer este script é algo que necessita de uma engenharia
 > reversa. Veja o que sai de cada um dos pipes, sem medo.
 >
 > Comece vendo o resultado do iostat.
 >

 > On 11/30/06, Andre Campos <address@hidden> wrote:
 > >
 > >
 > >  Amigos,
 > >
 > >  Alguém saberia me dizer o que está errado nessa rotina???
 > >
 > >  #!/bin/ksh
 > >  while true
 > >  do
 > >   iostat -x 300 1|\
 > >     sed 1,2d|\
 > >     awk  '{ printf("%s %s %s\n", $1, $4, $5) }' |\
 > >    while read HDISK VMSTAT_IO_R VMSTAT_IO_W
 > >    do
 > >      if [ $VMSTAT_IO_R -gt 0 ] and [ $VMSTAT_IO_W -gt 0 }
 > >      then
 > >       sqlplus -s perfstat/perfstat <<!
 > >        insert into perfstat.stats\$iostat
 > >        values
 > >          (SYSDATE, 5, '$HDISK', $VMSTAT_IO_R, $VMSTAT_IO_W);
 > >        exit
 > >  !
 > >     fi
 > >    done
 > >    sleep 300
 > >  done
 > >
 > >  Estou recebendo o seguinte erro : io.sh: [: missing `]'
 > >
 > >  Obrigado
 > >
 > >  André Campos
 > >  --
 > Tiago B Peczenyj
 > Linux User #405772
 >
 > # cd /pub
 > # more beer
 >






--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

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