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: Marcelo Neto
Subject: Re: [shell-script] Uptime de Serviços
Date: Tue, 9 Jul 2013 16:23:07 -0300

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]



reply via email to

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