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

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

Re: [shell-script] Script para comparar datas


From: Renato Pires
Subject: Re: [shell-script] Script para comparar datas
Date: Sat, 14 Jul 2012 22:02:38 -0300

Renato

Se tiver o modulo PERL instalado no server, tente este comando:

Note que foram criadas duas variaveis internas "dt1" e "dt2" ... o
resultado será a diferença em segundos entre as duas datas ...

perl -e 'use strict;use warnings;use Time::Piece;my
$dt1=Time::Piece->strptime(q(Mar 23 00:00:00 2012),"%b %e %H:%M:%S %Y");my
$dt2=Time::Piece->strptime(q(Mar 23 23:59:59 2013),"%b %e %H:%M:%S
%Y");print $dt2->strftime("%s")-$dt1->strftime("%s"),"\n";'

Obs. Todo comando acima deverá ser executado em uma linha...

Segue o exemplo da execução:

~ Renato$ ret=`perl -e 'use strict;use warnings;use Time::Piece;my
$dt1=Time::Piece->strptime(q(Mar 23 00:00:00 2012),"%b %e %H:%M:%S %Y");my
$dt2=Time::Piece->strptime(q(Mar 23 23:59:59 2013),"%b %e %H:%M:%S
%Y");print $dt2->strftime("%s")-$dt1->strftime("%s"),"\n";'`
~ Renato$ echo $ret
31622399

~ Renato$ ret=`perl -e 'use strict;use warnings;use Time::Piece;my
$dt1=Time::Piece->strptime(q(Mar 23 00:00:00 2012),"%b %e %H:%M:%S %Y");my
$dt2=Time::Piece->strptime(q(Mar 23 00:00:59 2012),"%b %e %H:%M:%S
%Y");print $dt2->strftime("%s")-$dt1->strftime("%s"),"\n";'`
~ Renato$ echo $ret
59


Ajudou?


__________________________________
Renato Pires


Em 14 de julho de 2012 12:31, Julio C. Neves <address@hidden>escreveu:

> Renato,
> pesquise no histórico da lista por dton.sh e ntod.sh, que são 2 scripts que
> fiz. O dton.sh transforma a a data informada na qtd de dias decorridos
> desde 01/01/1980 e a ntod.sh faz o inverso.
>
> Com essas 2 rotinas, vc pode fazer qq coisa com datas, tipo:
> somar dias em datas; ver qtos dias existem entre 2 datas; calcular atraso;
> ...
>
> Estes prgs foram feitos para UNIX. Não lembro se para ksh ou sh.
>
> Abcs,
> Julio
>
> *
> *
>
>
>
> Em 12 de julho de 2012 15:16, Renato Sousa <address@hidden> escreveu:
>
> > **
> >
> >
> > Boa tarde amigos da lista!
> >
> > Preciso desenvolver um script que analisa a data de expiração de
> > alguns certificados SSL e, antes do vencimento, avise a equipe com
> > email para a renovação do mesmo.
> > Esse script ficará em um FreeBSD rodando sh. Procurei na internet e
> > encontrei o comando abaixo:
> >
> > #!/bin/sh
> > echo "GET / HTTP/1.1" | openssl s_client -connect
> > webmail.XXX.XXX.XX:443 2>/dev/null | sed -ne '/-BEGIN
> > CERTIFICATE-/,/-END CERTIFICATE-/p' | openssl x509 -noout -subject
> > -dates | tail -2
> >
> > A execução retorna:
> > sh check_cert.sh
> > notBefore=Mar 23 00:00:00 2012 GMT
> > notAfter=Mar 23 23:59:59 2013 GMT
> >
> > Agora que vem a zica!!!! Como manipular essas datas ? É melhor
> > converte-las em epoch (segundos desde 1/1/1970) ?
> > Estou olhando o man do date freebsd, mas ainda não encontrei a
> > solução!!! Alguém me ajuda ?
> >
> > Abraços,
> >
> > Renato
> >
> >
>
>
> [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
>
>
>


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



reply via email to

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