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

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

HTTP Last-Modified


From: Paulo Roberto Bagatini
Subject: HTTP Last-Modified
Date: Sun, 25 May 2008 16:04:25 -0300
User-agent: Thunderbird 2.0.0.14 (X11/20080421)

Holla Lista :-)

Eu quero automatizar a verificacao de novas versoes para varios arquivos de aplicativos que eu baixo da Internet, sejam .exe, .iso, .bin, o que for.

Basicamente, quero informar a url completa, transformando as partes especificas de versao em mascaras de expressao regular.

Ex:

<http://releases.mozilla.org/pub/mozilla.org/calendar/sunbird/releases/0.8/linux-i686/pt-BR/sunbird-0.8.pt-BR.linux-i686.tar.gz>

ficaria

<http://releases.mozilla.org/pub/mozilla.org/calendar/sunbird/releases/[[:alnum:].]+/linux-i686/pt-BR/sunbird-[[:alnum:].]+.pt-BR.linux-i686.tar.gz>

Entao, o script verifica, pela data de modificacao do arquivo no site se eh mais novo que o que eu tenho. Se eh, baixa, move o velho para um determinado local de recuperacao e envia email avisando que tem nova versao. Se ele nao conseguir decidir se ha ou nao uma nova versao (mascara ER mal feita), ou se a url de download mudou, ele manda email avisando.

Vejam que eu nao quero manter um mirror do site. Quero apenas baixar um arquivo especifico dentre varios arquivos de um diretorio remoto, seja http ou ftp. Isso impede que eu use a opcao de mirror do wget, por ex.

Aparentemente eh algo simples de se fazer:

Um 'lynx -dump -listonly $path | <varios filtros>' lista os arquivos do diretorio, e um loop neles com 'lynx -dump -head $path/$file | <varios filtros>' me permite obter a data de modificacao.

O problema aparece quando a url tem uma parte variavel no proprio diretorio, alem do arquivo final, como no ex acima. Eu precisaria, primeio, verificar qual diretorio eh o mais novo, e entao sim, verificar dentro dele, qual o arq mais novo.

So que, 'lynx -dump -head $path/' muitas vezes nao retorna nos headers http o campo last-modified. No ex, acima, pelo que pude observar, apenas um dos servidores retorna (releases.mozilla.org aponta para varios ip's)

Entao, se eu fui claro na minha esplanacao, eu gostaria de saber se alguem tem alguma sugestao...

Grato,

--
------------------------    __o    address@hidden  ----.-----------
 P@ulo Roberto Bagatini   _`\<,    www.ceat.net/~arkanon  \
  -=---=---==---=---=-   (_)/(_)   Phone +55 51 3748 7000  `--------
 Lajeado - RS - Brasil  ---------  ICQ 34 789 30 - LinuxUser 102.514
---------------------------------------------------------------------


reply via email to

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