Gerar intervalo de tempo

1. Gerar intervalo de tempo

Luiz Flavio
abujamra

(usa Fedora)

Enviado em 25/03/2008 - 14:12h

Boa Tarde,

Estou com uma duvida, que provavelmente deve ser facil de resolver. Estou fazendo um script basicao de backup que faz uma copia full dos arquivos pra dentro de uma HD usb ligado ao servidor, como o case é somente para o backup, não fiz compactação dos arquivos antes de fazer a transferencia. O problema é que são 60gb de dados e usb, mesmo sendo 2.0 como é o caso, demora demais para fazer o backup, e eu gostaria de colocar um comando no script ou uma função que ao termino do backup mostrasse o tempo utilizado para a copia.

Atualmente eu estou com o script a seguir, é bem simples, pois não é necessário compactação nem nada. Como solução, eu apenas inclui o comando date antes e depois da copia, assim consigo ver mais ou menos o tempo utilizado. Mas se alguem pudesse me passar como eu faria no caso para aparecer assim "A copia dos arquivos levou 33 minutos" ou algo assim, agradeceria muito

#=====================================================
# Checa e executa o arquivo functions
#=====================================================

if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo "Nao foi possivel encontrar o arquivo functions, Seu sistema pode estar corrompido."
exit 1
fi

#=====================================================
# Mostra a hora do inicio do backup
#=====================================================

NOTE="Hora e Data do inicio do backup:"
echo -n "$NOTE"
date
echo ""

#=====================================================
# Efetua a copia dos arquivos sem compactação
#=====================================================

NOTE="Efetuando a copia dos arquivos"
echo -n "$NOTE:"
cp -Rf /home/ /etc/ /opt/ /backup
success "$NOTE"

#=====================================================
# Mostra a hora do final do backup
#=====================================================

NOTE="Hora e Data do término do backup:"
echo -n "$NOTE"
date

Agradeço desde já pela ajuda

Luiz Flavio


  


2. Re: Gerar intervalo de tempo

Lame Duck
lame_duck_hat

(usa Outra)

Enviado em 28/03/2008 - 09:48h

talvez uma forma seja usar o:
"date +%s"

essa opção mostra quantos segundos se passaram desde a data: "1970-01-01 00:00:00 UTC" até o momento atual.

então na data inicial você põe:
inicio=`date +%s`

e nada data final também
final=`date +%s`

daí pode por o tempo restante com:
restante=$(($final-$inicial))

ele retornará quantos segundos demorou.
Se quiser o tempo em minutos, basta dividir por sessenta, e assim vai se quiser mostrar por horas, etc.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts