Usando o wget
comando, como permito / instruo sobrescrever meu arquivo local toda vez, independentemente de quantas vezes eu chame.
Digamos, eu quero baixar um arquivo do local: http: //server/folder/file1.html
Aqui, sempre que digo wget http://server/folder/file1.html
, quero que isso file1.html
seja sobrescrito no meu sistema local, independentemente da hora em que foi alterado, já baixado, etc. Minha intenção / caso de uso aqui é que, quando ligo para o wget, tenho certeza que desejo para substituir / substituir o arquivo existente.
Eu tentei as seguintes opções, mas cada uma delas se destina / se destina a algum outro propósito.
- -nc => --no-clobber
- -N => Ativar registro de data e hora
- -r => Ativar recuperação recursiva
wget
comando que faça isso sem que eu especifique explicitamente usando-O filename
?Esta opção funciona
informação
fonte
Usar em
curl
vez disso?fonte
wget
ecurl
? Tenho certeza de que cada comando é destinado a algum propósito específico.Eu não acho que você pode fazer isso, a menos que você também baixe os diretórios (então passe o sinalizador -x). Se você souber qual é o arquivo, poderá usar -O filename, por exemplo:
wget http://yourdomain.com/index.html -O index.html
fonte
Não experimentado: talvez você possa trabalhar
wget -r --level=0
.Outra possibilidade:
curl -O
substitui (mas usa uma maneira diferente de escolher o nome do arquivo, que pode ou não ser importante para você).fonte
wget
linha realmente não faz a coisa correta porque cria uma hierarquia de subdiretórios.curl -O
por outro lado, baixa corretamente o arquivo, substituindo as cópias existentes.Por que não colocar um pequeno invólucro em torno do wget no seu script?
O script pode mover todos os arquivos para um local temporário e depois apagar os arquivos / páginas da web remotos.
Em caso de sucesso, exclua os arquivos no local temporário. Em caso de falha, mova os arquivos de volta e gere um erro.
Não existe uma maneira simples de fazer o que você deseja usando apenas o wget, a menos que você saiba especificamente o nome de todos os arquivos; nesse caso, a opção -O permitirá que você force o nome do arquivo baixado.
fonte