답변:
ftp 및 http 중 하나 또는 둘 모두에 대한 사용자 이름과 비밀번호를 설정할 수 있는 .wgetrc
파일 ( GNU manual )을 사용 하십시오.
동일한 자격 증명을 모두 사용하려면
user=casper
password=CasperPassword
또는 개별적으로
ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass
.netrc
파일을 사용하는 wget을 놓쳤지만 문서화되어 있습니다.
아무도 .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
에는 OP에서 이를보기에는 너무 부주의합니다. 왜 이것이 효과가 있는지 궁금해하고 @ryenus 귀하의 의견이 저를 구해 주셔서 감사합니다 ~ Manual은 항상 환영합니다 : P 그렇다면 나는 그것이 사용하는 rc 파일이라는 것을 알고 ftp
있습니다. http에서는 작동하지 않습니다. 나중에 http에서 시도하겠습니다.
많은면에서 컬이 더 나은 선택이 될 수 있습니다. Wget은 시간이 지남에 따라 조금 낡았습니다.
curl의 -n 스위치는이 작업에 사용될 수 있습니다 : http://curl.haxx.se/docs/manpage.html#-n
-i
옵션을 사용하고 표준 입력에서 사용자 이름과 비밀번호를 입력 할 것을 제안 합니다.