Estou executando duas máquinas virtuais - digamos VM1 e VM2. Ambos estão executando o Ubuntu 16.04 e o VM2 possui o servidor web apache2 instalado. Agora no servidor VM2, copiei o código para um pequeno site.
PROBLEMA:
Do VM1, quero poder baixar o conteúdo do site usando wget
repetidamente em um intervalo definido. Agora ele baixa todo o conteúdo do site inicialmente perfeitamente, mas quando adicionei um novo arquivo (um .jpg
arquivo, à pasta do site que contém arquivos de imagem anteriores) para uma pasta (no site da máquina VM2) e, em seguida, executo o comando wget em a máquina VM1, o novo arquivo não é baixado.
MEU COMANDO WGET:
wget --recursive --convert-links --no-check-certificate --no-cache --no-cookies http://192.168.1.44/
O QUE EU TENTEI:
Então eu pensei que era um problema de cache . Mas eu já tinha --no-cache
no meu comando wget, então pesquisei na internet e executei o seguinte comando no lado do servidor para limpar o cache do apache2. Mas ainda sem sorte.
Se você adicionou um arquivo de imagem JPEG, mas não atualizou nenhum arquivo HTML para incluir uma referência a ele (ou um link para uma página de índice dinâmico), o Wget não seria capaz de encontrar o JPEG.
A sincronização de dois conjuntos de pastas entre máquinas normalmente seria feita usando ferramentas como rsync, robocopy, etc., que não têm esse problema e que não copiam arquivos inalterados e, portanto, são muito mais eficientes.
Atualizar:
Para procurar alterações no conteúdo em servidores aos quais você não tem acesso administrativo, às vezes você pode usar a
HTTP HEAD
solicitação e examinar oLast-Modified
cabeçalho, se presenteO Wget tem algumas opções para usar solicitações HTTP HEAD.
Para um site completamente estático sem Javascript, você pode usar uma abordagem simples usando o Wget etc. Acredito que esses sites sejam raros.
Você sempre terá problemas com páginas geradas dinamicamente. Você teria que baixar e analisar o HTML do site para determinar os URLs que precisa verificar. Você também pode precisar executar Javascript.
Você só pode verificar as alterações no conteúdo gerado, não nos arquivos de origem. Como outros observaram, o conteúdo gerado geralmente possui alterações que não são de interesse - como registros de data e hora, tempos de processamento etc.