Відповіді:
Скористайтеся .wgetrcфайлом ( посібник з GNU ), в якому ви можете встановити ім’я користувача та паролі для будь-якого або обох ftp та http.
Для використання однакових облікових даних для обох вказати
user=casper
password=CasperPassword
або окремо
ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass
.wgetrcзабезпечує гнучкість для роботи з більш ніж одним сервером? Якщо ні, .netrcто краще рішення, дивіться іншу відповідь від tobias.pal
.netrcфайлу, але це документально підтверджено .
Я здивований, що .netrcфайл не згадав . Спочатку створіть файл, якщо він не існує, і встановіть безпечні дозволи:
touch ~/.netrc
chmod 600 ~/.netrc
Потім ви можете додати ім'я хоста, ім’я користувача та пароль у одному рядку:
echo 'machine example.com login casper password CasperPassword' >> ~/.netrc
Тоді, коли ви зробите це, wget https://example.comі сервер відповість 401 Authorization Required, wget спробує ввести ім'я користувача та пароль з ~/.netrcфайлу.
Використовуючи це з cron, переконайтеся, що у вас є правильний HOMEкаталог. Часто набір cron HOME=/(у такому випадку вам доведеться створити файл як /.netrc, але краще встановити належний HOMEна початку вашого сценарію, як export HOME=/root).
Ви можете вказати кілька хостів у ~/.netrc, по одному на рядок. Більше інформації в man netrc.
man netrcв ОП, цікаво, ЧОМУ це працює, потім @ryenus ваш коментар рятує мене, дякую ~ Посібник завжди вітається: P Тоді я знаю, що це rc-файл, який використовується ftp, тобто він може не працює для http. Я спробую це на http пізніше.
Багато в чому кучері можуть бути кращим вибором. Wget з часом трохи затхло.
для цього завдання можна використовувати перемикач curl's -n: http://curl.haxx.se/docs/manpage.html#-n
-iопцію і підгодівлі ім'я користувача і пароль в зі стандартного введення.