Відповіді:
Скористайтеся .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
опцію і підгодівлі ім'я користувача і пароль в зі стандартного введення.