Respostas:
Use um .wgetrcarquivo ( manual GNU ) no qual você pode definir o nome de usuário e as senhas para ftp e http.
Para usar as mesmas credenciais para ambos, especifique
user=casper
password=CasperPassword
ou individualmente
ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass
.wgetrcflexibilidade para trabalhar com mais de um servidor? Se não, .netrcé uma solução melhor, veja a outra resposta de tobias.pal
.netrcarquivo, mas está documentado .
Estou surpreso que ninguém tenha mencionado o .netrcarquivo. Primeiro, crie o arquivo se ele não existir e defina permissões seguras:
touch ~/.netrc
chmod 600 ~/.netrc
Em seguida, você pode adicionar o nome do host, o nome de usuário e a senha, todos em uma linha:
echo 'machine example.com login casper password CasperPassword' >> ~/.netrc
Então, quando você wget https://example.comresponder e o servidor responder 401 Authorization Required, o wget tentará novamente com o nome de usuário e a senha do ~/.netrcarquivo.
Ao usar isso no cron, verifique se você possui o HOMEdiretório certo . Geralmente, o cron define HOME=/(nesse caso, você teria que criar o arquivo como /.netrc, mas é melhor definir um apropriado HOMEno início do script, como export HOME=/root).
Você pode especificar vários hosts ~/.netrc, um por linha. Mais informações em man netrc.
man netrcOP, 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 por ftp, 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
-iopção e inserir o nome de usuário e a senha a partir da entrada padrão.