Existe uma maneira de passar o nome de usuário e a senha de um arquivo em vez da linha de comando via --user e --password?
Segundo plano: desejo executar o wget via cron e não quero que o nome de usuário / senha apareça na visualização do processo
password
wget
credentials
user-accounts
Casper
fonte
fonte
-i
opção e inserir o nome de usuário e a senha a partir da entrada padrão..wgetrc
flexibilidade para trabalhar com mais de um servidor? Se não,.netrc
é uma solução melhor, veja a outra resposta de tobias.pal.netrc
arquivo, mas está documentado .Estou surpreso que ninguém tenha mencionado o
.netrc
arquivo. Primeiro, crie o arquivo se ele não existir e defina permissões seguras:Em seguida, você pode adicionar o nome do host, o nome de usuário e a senha, todos em uma linha:
Então, quando você
wget https://example.com
responder e o servidor responder401 Authorization Required
, o wget tentará novamente com o nome de usuário e a senha do~/.netrc
arquivo.Ao usar isso no cron, verifique se você possui o
HOME
diretório certo . Geralmente, o cron defineHOME=/
(nesse caso, você teria que criar o arquivo como/.netrc
, mas é melhor definir um apropriadoHOME
no início do script, comoexport HOME=/root
).Você pode especificar vários hosts
~/.netrc
, um por linha. Mais informações emman netrc
.fonte
.netrc
, consulte o manual ou o documento de ondulação relacionado .man netrc
OP, me perguntando por que isso funciona, então @ryenus seu comentário me salva, obrigado ~ O manual é sempre bem-vindo: P Então eu sei que é um arquivo rc usado porftp
, ou seja, pode não funciona para http. Vou tentar no http mais tarde.Em muitos aspectos, o enrolamento pode ser uma escolha melhor. O Wget ficou um pouco obsoleto com o tempo.
A opção -n do curl pode ser usada para esta tarefa: http://curl.haxx.se/docs/manpage.html#-n
fonte