Contador de tempo de execução

Publicado por Denilson Martins (última atualização em 17/08/2010)

[ Hits: 25.798 ]

Homepage: www.compels.net

Download contadorTempo.sh




Script criado para mostrar quanto tempo foi gasto desde o inicio até o fim da execução. Para implementa-lo em outros scripts, basta colocar o script desejado dentro do script contador.

  



Esconder código-fonte

#!/bin/bash
datainicial=`date +%s`

#Coloque aqui o restante do script

datafinal=`date +%s`
soma=`expr $datafinal - $datainicial`
resultado=`expr 10800 + $soma`
tempo=`date -d @$resultado +%H:%M:%S`
echo " Tempo gasto: $tempo "

Scripts recomendados

LAMP/Tomcat - Acesso simplificado a ferramentas do console

Slackware Current Pós Instalação Zero Bala

Medidor de temperatura do CPU

Verificando a versão mais recente do Wine via script

Brincando com recursividade


  

Comentários
[1] Comentário enviado por /bin/laden em 17/08/2010 - 12:56h

O comando 'time' não faz a mesma coisa????

[2] Comentário enviado por denilsoneskas em 17/08/2010 - 13:20h

Não sei responder, mas poderia postar ai para gente o modo usando o time. Vou pesquisar mais.

[3] Comentário enviado por hugobcar em 17/08/2010 - 14:28h

Sim, o comando time faz exatamente isso:

time <comando>

Exemplo:

time cat /home/hugo/teste.txt
time pg_dump ...........

[4] Comentário enviado por denilsoneskas em 17/08/2010 - 15:28h

Ah sim..
Faz o mesmo. Legal, e dá pra fazer parcial.

[5] Comentário enviado por removido em 17/08/2010 - 22:52h

eu estava criando script que fazia isso, mas ai vi o time


[6] Comentário enviado por diramos em 24/02/2014 - 21:08h

Olá, Denilson!
Ressucitando o tópico.
O seu script é brilhante.
Aos demais, sugiro esquecer o comando "time" para o fim que você se propôs.
Seu script pode ser colocado em qualquer lugar do script que funciona, fornecendo o tempo exato de execução do script, a partir dalí.
Passei horas procurando por isso e enfim encontrei.
Simples e sucinto.
Parabéns, e MUITO OBRIGADO.

Diramos

[7] Comentário enviado por denilsoneskas em 24/02/2014 - 23:52h


[6] Comentário enviado por diramos em 24/02/2014 - 21:08h:

Olá, Denilson!
Ressucitando o tópico.
O seu script é brilhante.
Aos demais, sugiro esquecer o comando "time" para o fim que você se propôs.
Seu script pode ser colocado em qualquer lugar do script que funciona, fornecendo o tempo exato de execução do script, a partir dalí.
Passei horas procurando por isso e enfim encontrei.
Simples e sucinto.
Parabéns, e MUITO OBRIGADO.

Diramos


Ei cara valeu pelo feedback. Que bom que lhe serviu, criei ele por brincadeira. Depois me apresentaram o time, ótimo para determinadas ações. Mesmo assim ainda uso bastante este script.

[8] Comentário enviado por dopaco@gmail.com em 28/06/2017 - 13:39h

Ola Danilson,

Muito bom o seu script.
Só tenho duas duvidas ..
1° Se caso o tempo demorar mais que 24 horas?? ou seja mais de um dia .

A segunda duvida é sobre a linha
resultado=`expr 10800 + $soma`
Para que serve esse numero 10800?
Poderia explicar para que ele serve ?

Att.
Paulo R Correia Junior


[9] Comentário enviado por denilsoneskas em 28/06/2017 - 14:02h


[8] Comentário enviado por dopaco@gmail.com em 28/06/2017 - 13:39h

Ola Danilson,

Muito bom o seu script.
Só tenho duas duvidas ..
1° Se caso o tempo demorar mais que 24 horas?? ou seja mais de um dia .

A segunda duvida é sobre a linha
resultado=`expr 10800 + $soma`
Para que serve esse numero 10800?
Poderia explicar para que ele serve ?

Att.
Paulo R Correia Junior




Olá, agradeço pelas perguntas, bom vamos a elas:
1 - Eu não o utilizei em nenhuma aplicação que estivesse rodando por mais de 24 horas, posso realizar um teste para ver.
2 - Ao rodar " date -d @0 " o linux retornará o seguinte valor:
eskas@swbukaib:~$ date -d @0
Qua Dez 31 21:00:00 BRT 1969
Perceba que o valor está como 21 horas e não 0 horas, para corrigir isso somei o tal valor (10800 segundos = 3 horas) a variável que retorno no final, assim eu "zerei" a hora. A data que mostra pouco me importava quando escrevi o script, pois queria apenas mostrar em formato de hora.
Depois de somado o valor, ao rodar o comando "date -d @$resultado +%H:%M:%S" ele passa a indicar o tempo corretamente.

Observação: Se você digitar "date +%s" ele retornará o valor de segundos contados desde a data inicial, ou seja o segundo 0 (zero). (Qua Dez 31 21:00:00 BRT 1969), neste momento estamos no segundo "1498669981" que se você executar "date -d @1498669981" irá saber que horas e o dia que eu editei este comentário.

Observação 2: O horário está como 21:00:00 do dia 31, pois o horário brasileiro é de -3 horas em relação ao "Greenwich Mean Time (GMT)".

Agradeço o retorno, espero que com isso tenha sanado a segunda dúvida, com relação a primeira eu vou testar a título de curiosidade.




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts