[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
---------------------------------------------------------------------
- HTTP Last-Modified,
Paulo Roberto Bagatini <=