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

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

Re: [shell-script] Uptime de Serviços


From: Julio C. Neves
Subject: Re: [shell-script] Uptime de Serviços
Date: Tue, 9 Jul 2013 19:52:45 -0300

Ele colocou dia e hora caso não existissem.

Por favor, mande a saída de ps -eo pid,time | grep $processo.

Me mande tb o código que te mandei, pq já o removi, mas acho que o que fiz
está certo.

Abcs,
Julio
*@juliobash
*



Em 9 de julho de 2013 17:52, Luiz Sales <address@hidden> escreveu:

> **
>
>
> Li o seu codigo, porem quando copiei e colei, eu percebi que o mesmo
> adicionou o 0- antes dos serviços que nao tem dias e deixou os serviços com
> dias intactos, porem nao consegui assimilar como colocaria no meu codigo..
>
> copiando e colando continuam os mesmos erros..
>
> [root@D01LS150V ~]# ./prc.sh smbd
> 648 0-01:24:52
> ./prc.sh: line 19: *86400: syntax error: operand expected (error token is
> "*86400")
> Dia:
> ./prc.sh: line 21: *3600: syntax error: operand expected (error token is
> "*3600")
> Hora:
> ./prc.sh: line 23: *60: syntax error: operand expected (error token is
> "*60")
> Minuto:
> Uptime smbd em segundos: 1
> 2
> [root@D01LS150V ~]# ./prc.sh sshd
> 1487 36-07:13:07
> ./prc.sh: line 19: *86400: syntax error: operand expected (error token is
> "*86400")
> Dia:
> ./prc.sh: line 21: *3600: syntax error: operand expected (error token is
> "*3600")
> Hora:
> ./prc.sh: line 23: *60: syntax error: operand expected (error token is
> "*60")
> Minuto:
> Uptime sshd em segundos: 1
> 2
>
> 2013/7/9 Julio C. Neves <address@hidden>
>
> > Luiz, favor ser mais explicito. O que "não fechou" significa. Escrevi
> umas
> > 30 linhas para te ajudar e vc me responde em 1/2 linha!
> >
> > Abcs,
> > Julio
> > *@juliobash
> > *
> >
> >
> >
> > Em 9 de julho de 2013 16:58, Luiz Sales <address@hidden> escreveu:
> >
> > > **
> > >
> > >
> > > Julio,
> > > Nao consegui entender seu raciocinio, e quando no shell, alguma linha
> nao
> > > fechou :P
> > >
> > > Marcelo,
> > > Pelo que vi, com esse codigo eu perco os meus dias.. se eles
> existirem..
> > >
> > > deixei da seguinte maneira..
> > >
> > > day=$(ps -eo pid,time | sed -r 's/ (([0-9]{2}:){2}[0-9]{2})/ 0-\1/g' |
> > > grep $processo | awk -F " " '{print $2}' | awk -F "-" '{print $1}')
> > > echo "Dias: $day"
> > >
> > > [root@D01LS150V ~]# ./procupdate.sh sshd
> > > Dias: 0
> > > Dia: 0
> > > Hora: 21600
> > > Minuto: 960
> > > Uptime sshd em segundos: 22562
> > > 22562
> > > [root@D01LS150V ~]# ./procupdate.sh slapd
> > > Dias: 0
> > > Dia: 0
> > > Hora: 0
> > > Minuto: 2460
> > > Uptime slapd em segundos: 2519
> > > 2519
> > >
> > > e sem o seu codigo..
> > >
> > > [root@D01LS150V ~]# ./procupdate.sh sshd
> > > Dias: 36
> > > Dia: 3110400
> > > Hora: 21600
> > > Minuto: 1020
> > > Uptime sshd em segundos: 3133072
> > > 3133072
> > > [root@D01LS150V ~]# ./procupdate.sh slapd
> > > Dias: 34
> > > Dia: 2937600
> > > Hora: 0
> > > Minuto: 2580
> > > Uptime slapd em segundos: 2940228
> > > 2940228
> > >
> > > alterando um pouco o script..
> > >
> > > # Pega a quantos dias o processo ta rodando.
> > > day=$(ps -eo pid,etime | grep $processo | awk -F " " '{print $2}' |
> > > awk -F "-" '{print $1}')
> > > echo "Dias: $day"
> > > if [ -z $day ];
> > > then
> > > day=$(ps -eo pid,time | sed -r 's/
> > > (([0-9]{2}:){2}[0-9]{2})/ 0-\1/g' | grep $processo | awk -F " " '{print
> > > $2}' | awk -F "-" '{print $1}')
> > > echo "Dias: $day"
> > > fi
> > >
> > > [root@D01LS150V ~]# ./procupdate.sh sshd
> > > Dias: 36
> > > Dia: 3110400
> > > Hora: 21600
> > > Minuto: 1260
> > > Uptime sshd em segundos: 3133316
> > > 3133316
> > > [root@D01LS150V ~]# ./procupdate.sh smbd
> > > Dias: 33:47
> > > ./procupdate.sh: line 32: 33:47*86400: syntax error in expression
> (error
> > > token is ":47*86400")
> > > Dia:
> > > ./procupdate.sh: line 34: *3600: syntax error: operand expected (error
> > > token is "*3600")
> > > Hora:
> > > ./procupdate.sh: line 36: *60: syntax error: operand expected (error
> > token
> > > is "*60")
> > > Minuto:
> > > Uptime smbd em segundos: 1
> > > 2
> > > [root@D01LS150V ~]#
> > >
> > > o smbd nao tem dias.. e o sshd tem..
> > >
> > > 2013/7/9 Marcelo Neto <address@hidden>
> > >
> > > > Melhorando o comando mais um pouquinho:
> > > >
> > > > *ps -eo pid,time | sed -r 's/ (([0-9]{2}:){2}[0-9]{2})/ 0-\1/g'*
> > > >
> > > >
> > > >
> > > > Em 9 de julho de 2013 16:20, Marcelo Neto <address@hidden>
> > > > escreveu:
> > > >
> > > > > Seguinte,
> > > > >
> > > > > quando você executa somente "ps -eo pid,time" aparece o seguinte:
> > > > >
> > > > > 23574 1-14:09:54
> > > > > 23650 00:00:02
> > > > >
> > > > > eu aconselharia adicionar "0-" antes das horas que não possuem dias
> > > > > executando o comando com um sed:
> > > > >
> > > > > *ps -eo pid,time | sed -r 's/ ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])/
> > > 0-\1/g
> > > > > *
> > > > > *
> > > > > *
> > > > > *23574 1-14:09:54*
> > > > > *23650 0-00:00:02*
> > > > >
> > > > > com isso você padronizaria.
> > > > >
> > > > >
> > > > > Em 9 de julho de 2013 15:18, Luiz Sales <address@hidden>
> > escreveu:
> > > > >
> > > > >> **
> > > > >>
> > > > >>
> > > > >> Amigos,
> > > > >>
> > > > >> Estou trabalhando em uma soluçao para descobrir o uptime dos
> > > serviços...
> > > > >> eu estou buscando o resultado em segundos.
> > > > >>
> > > > >> Segue o script que "estou" desenvolvendo..
> > > > >>
> > > > >> #!/bin/sh -x
> > > > >> um_dia="86400"
> > > > >> uma_hora="3600"
> > > > >> um_minuto="60"
> > > > >>
> > > > >> processo=$(ps h -C $1 | head -n1 | awk '{print $1}')
> > > > >> if [ -z $processo ];
> > > > >> then
> > > > >> echo "Processo nao encontrado!"
> > > > >> exit 1
> > > > >> else
> > > > >> # Pega a quantos dias o processo ta rodando.
> > > > >> day=$(ps -eo pid,etime | grep $processo | awk -F " " '{print $2}'
> |
> > > > >> awk -F "-" '{print $1}')
> > > > >> echo $day
> > > > >> if [ -z $day ];
> > > > >> then
> > > > >>
> > > > >> day="0"
> > > > >> fi
> > > > >>
> > > > >> # Calcular passado
> > > > >> # Hora
> > > > >> hour=$(ps -eo pid,etime | grep $processo | awk -F " " '{print $2}'
> > > > >> | awk -F "-" '{print $2}' | awk -F ":" '{print $1}')
> > > > >> echo $hour
> > > > >> minute=$(ps -eo pid,etime | grep $processo | awk -F " " '{print
> > > > >> $2}' | awk -F "-" '{print $2}' | awk -F ":" '{print $2}')
> > > > >> echo $minute
> > > > >> seconds=$(ps -eo pid,etime | grep $processo | awk -F " " '{print
> > > > >> $2}' | awk -F "-" '{print $2}' | awk -F ":" '{print $3}')
> > > > >> echo $seconds
> > > > >>
> > > > >> dia_s=`echo $(($day*$um_dia))`
> > > > >> echo "Dia: $dia_s"
> > > > >> hora_s=`echo $(($hour*$uma_hora))`
> > > > >> echo "Hora: $hora_s"
> > > > >> min_s=`echo $(($minute*$um_minuto))`
> > > > >> echo "Minuto: $min_s"
> > > > >>
> > > > >> echo "Uptime $1 em segundos: $(($dia_s+$hora_s+min_s+seconds))"
> > > > >> echo $(($dia_s+$hora_s+min_s+seconds))
> > > > >>
> > > > >> fi
> > > > >>
> > > > >> com o comando
> > > > >> ps h -C <nome do serviço> eu consigo pegar o pid e com o comando
> > > > >> ps -eo pid,time eu pego o tempo de execução, mas alguns serviços
> nao
> > > tem
> > > > >> dias(no ar) e eu acabo pegando outra variavel, acho que devido a
> > > posição
> > > > >> de
> > > > >> cada atributo.. teria como delimitar o para o time ser sermpre em
> > uma
> > > > >> coluna.. ou algo quen houvesse um padrao..
> > > > >>
> > > > >> se o serviço tiver dia hora minuto segundo funciona corretamente,
> > mas
> > > se
> > > > >> nao tiver dia, ele ja da erro no shell e eu perco as informações
> > > > >>
> > > > >> --
> > > > >> Luiz Sales
> > > > >> aka redhate
> > > > >> Certified Zimbra, LPIC-2 e ITIL v2
> > > > >> Linux User #347508
> > > > >> aMSN: address@hidden
> > > > >> Licq: 251384040
> > > > >>
> > > > >> [As partes desta mensagem que não continham texto foram removidas]
> > > > >>
> > > > >>
> > > > >>
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Marcelo Neto
> > > > > (85) 8886.5730
> > > > > Fortaleza - Brasil
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Marcelo Neto
> > > > (85) 8886.5730
> > > > Fortaleza - Brasil
> > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > ----------------------------------------------------------
> > > > 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.listas-discussao.cjb.net
> > > > ----------------------------------------------------------
> > > > Servidor Newsgroup da lista: news.gmane.org
> > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > >
> > > > Links do Yahoo! Grupos
> > > >
> > > >
> > > >
> > >
> > > --
> > > Luiz Sales
> > > aka redhate
> > > Certified Zimbra, LPIC-2 e ITIL v2
> > > Linux User #347508
> > > aMSN: address@hidden
> > > Licq: 251384040
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > 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.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>
> --
> Luiz Sales
> aka redhate
> Certified Zimbra, LPIC-2 e ITIL v2
> Linux User #347508
> aMSN: address@hidden
> Licq: 251384040
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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