crontab에는 wget 도메인 확인이 없습니다.

crontab에는 wget 도메인 확인이 없습니다.

컴퓨터가 시작될 때 파일을 다운로드해야 하므로 cronjob에 다음 줄을 만들었습니다.

@reboot wget -a /log/here -O /save/here https://domain.tld/file.ext

불행하게도 에 빈 파일이 생성되었고 /save/here에 오류가 발생했습니다 /log/here.

오류는 다음과 같습니다.

Resolving domain.tld (domain.tld)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ■domain.tld■

부팅 프로세스 초기에 이름 확인을 사용할 수 없기 때문입니까? 도메인 이름을 이름 확인을 우회하는 IP 주소로 바꾸는 것 외에 할 수 있는 다른 작업이 있습니까? 나는 이 모든 것을 crontab에 보관하고 싶습니다.

답변1

사용하다종속 단위 파일을 사용 network하거나 다음을 시도할 수 있습니다.

@reboot until ping -c1 dk &>/dev/null; do sleep 2; done; wget -a /log/here -O /save/here https://domain.tld/file.ext

( dk내가 아는 가장 짧은 도메인 이름)

답변2

이 작업을 수행하는 가장 안정적인 방법은 부팅 시 wget 을 사용하는 것입니다 /etc/rc.local. 또한 제가 사용하는 컴퓨터에는 내장 배터리가 없고 대신 네트워크 시간 프로토콜을 사용하여 시계를 설정하기 때문입니다. 부팅할 때 --no-check-certificateSSL 인증서가 아직 유효하지 않은 등의 문제로 인해 명령이 실패하는 것을 방지하려면 https://를 지정하거나 사용하지 않아야 한다는 사실도 알게 되었습니다 .

관련 정보