Respuestas:
Utilice un .wgetrcarchivo ( manual de GNU ) en el que puede establecer el nombre de usuario y las contraseñas para ftp y http o para ambos.
Para usar las mismas credenciales para ambos, especifique
user=casper
password=CasperPassword
o individualmente
ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass
.wgetrcProporciona la flexibilidad para trabajar con más de un servidor? Si no, .netrces una mejor solución, vea la otra respuesta de tobias.pal
.netrcarchivo, pero está documentado .
Me sorprende que nadie haya mencionado el .netrcarchivo. Primero cree el archivo si no existe y establezca permisos seguros:
touch ~/.netrc
chmod 600 ~/.netrc
Luego puede agregar el nombre de host, el nombre de usuario y la contraseña, todo en una línea:
echo 'machine example.com login casper password CasperPassword' >> ~/.netrc
Luego, cuando lo haga wget https://example.comy el servidor responda 401 Authorization Required, wget volverá a intentarlo con el nombre de usuario y la contraseña del ~/.netrcarchivo.
Cuando use esto desde cron, asegúrese de tener el HOMEdirectorio correcto . A menudo, los conjuntos cron HOME=/(en ese caso, tendrías que crear el archivo como /.netrc, pero es mejor establecer un apropiado HOMEal comienzo de tu script, como export HOME=/root).
Puede especificar varios hosts en ~/.netrc, uno por línea. Más información en man netrc.
man netrcOP, preguntándome POR QUÉ esto funciona, luego @ryenus tu comentario me salva, gracias ~ El manual siempre es bienvenido: P Entonces sé que es un archivo rc utilizado ftp, es decir, puede no funciona para http. Lo intentaré en http más tarde.
En muchos aspectos, el rizo puede ser una mejor opción. Wget se volvió un poco rancio con el tiempo.
El interruptor -n de curl se puede utilizar para esta tarea: http://curl.haxx.se/docs/manpage.html#-n
-iopción y alimentar el nombre de usuario y la contraseña desde la entrada estándar.