Q tal usar o curl para fazer um head ?

URL=www.google.com.br/intl/pt-BR_br/images/logo.gif
curl -sI ${URL} | sed -n '/Last-Modified: */{ s///; p }'

Wed, 07 Jun 2006 19:50:30 GMT

calculando o timestamp:

DATE=$( curl -sI ${URL} | sed -n '/Last-Modified: */{ s///; p }' )
date -d "${DATE}" +"%s"
1149709830

Ou então baixa o arquivo e compara o md5sum

2008/2/22 mop <[EMAIL PROTECTED]>:
> Boa Fernando!!!
>
>  Para o caso de um mísero sistema, só com shell, uma solução 100% bash, desde
>  que este tenha sido compilado com suporte a tcp:
>
>  exec 3<>/dev/tcp/www.google.com.br/80
>  D=;echo -e "HEAD /intl/pt-BR_br/images/logo.gif HTTP/1.1\r\n\r\n" >&3
>  while read -t9 L;do [ ${L%% *} == Last-Modified: ]&&D=${L#* }&&break;done<&3
>  exec 3<&-
>
>  Sorry, I am a shell fan! :)
>
>  Caso a data no download não esteja sendo preservada, é possível inserir no
>  script uma linha com:
>  touch -d "$D" file
>
>  Daí a cada checagem é só verificar se $D é igual a:
>  date -r file
>
>
>  ------------------------------------------------------------------
>  >From: Fernando Lemes da Silva
>
> >
>  >Vamos supor que voce baixe o arquivo e anote a data e hora dele no servidor
>  >remoto. Para saber se o arquivo foi modificado basta comparar a data.. algo
>  >como:
>  >
>  >(echo -e "HEAD www.google.com.br/intl/pt-BR_br/images/logo.gif
>  >HTTP/1.1
>  >Host: www.google.com.br
>
> >
>  "; sleep 3) |
>  >nc www.google.com.br 80 |
>  >grep "Last-Modified:"
>  >
>  >Isto irá pegar o header "Last-Modified" da requisição... logo voce saberá
>  >quando o arquivo mudar. Espero que lhe ajude.
>
>
>
>
> ---------------------------------------------------------------------
>  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: [EMAIL PROTECTED]
>  ---------------------------------------------------------------------
>  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
>
>     [EMAIL PROTECTED]
>
>
>



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"

Responder a