컴퓨터가 시작될 때 파일을 다운로드해야 하므로 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-certificate
SSL 인증서가 아직 유효하지 않은 등의 문제로 인해 명령이 실패하는 것을 방지하려면 https://를 지정하거나 사용하지 않아야 한다는 사실도 알게 되었습니다 .