Contador de tempo de execução

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

[ Hits: 26.026 ]

Homepage: www.vivaolinux.com.br

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

Script para calcular a media área de cobertura de impressão (toner ou tinta)

Instalação de pacotes em uma lista

Cadastrando usuários no Squid através de Shell Script

Alterador de sufixo

Wallpaper aleatório para Fluxbox


  

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