WGET 시간이 초과됩니까?


85

다음 명령을 사용하여 Wget을 사용하여 cron을 통해 PHP 스크립트를 실행하고 있습니다.

wget -O - -q -t 1 http://www.example.com/cron/run

스크립트를 처리하는 데 최대 5 ~ 6 분이 소요됩니다. WGet은 그것을 기다렸다가 필요한 모든 시간을 제공합니까, 아니면 시간 초과됩니까?

답변:


148

wget의 man 페이지에 따르면 타임 아웃과 관련된 몇 가지 옵션이 있으며 기본 읽기 타임 아웃은 900 초입니다.


문제의 옵션은 다음과 같습니다.

-T seconds
--timeout=seconds

네트워크 시간 제한을 초로 설정합니다. 이 지정하는 것과 같습니다 --dns-timeout, --connect-timeout그리고 --read-timeout모두 같은 시간에.


그리고 그 세 가지 옵션 :

--dns-timeout=seconds

DNS 조회 시간 제한을 초로 설정합니다.
지정된 시간 내에 완료되지 않는 DNS 조회는 실패합니다.
기본적으로 시스템 라이브러리에 의해 구현 된 것 외에는 DNS 조회에 대한 시간 제한이 없습니다.

--connect-timeout=seconds

연결 제한 시간을 초로 설정하십시오.
설정하는 데 더 오래 걸리는 TCP 연결은 중단됩니다.
기본적으로 시스템 라이브러리에 의해 구현 된 것 외에는 연결 제한 시간이 없습니다.

--read-timeout=seconds

읽기 (및 쓰기) 제한 시간을 초로 설정하십시오.
이 시간 초과의 "시간"은 유휴 시간을 나타냅니다. 다운로드의 어느 지점에서든 지정된 시간 (초) 이상 데이터가 수신되지 않으면 읽기가 실패하고 다운로드가 다시 시작됩니다.
이 옵션은 전체 다운로드 기간에 직접적인 영향을주지 않습니다.


나는 다음과 같은 것을 사용한다고 가정한다.

wget -O - -q -t 1 --timeout=600 http://www.example.com/cron/run

스크립트 기간보다 더 오래 전에 시간 초과가 없는지 확인해야합니다.

(예, 아마도 가능한 가장 잔인한 해결책 일 것입니다 ^^)


-t 0을 설정하면 무기한 대기합니까?
Upvote 클릭

4
-t옵션의 별칭 것 같다 --tries, 수 재시도 수를 설정합니다. ;;; 어떤 종류의 시간 초과와도 관련이없는 것 같지만, 오류가있는 경우 wget이 다운로드를 다시 시도하는 횟수와 관련이 있습니다. 스크립트가 다시 호출됩니다.
Pascal MARTIN

32
--timeout = 0은 시간 제한을 비활성화합니다.
MiniScalope

나는 아마도 지구상에서 하나이지만 우분투 16의 경우 wget은 --timeout. 나는 명령에 기본 인증을 사용하고 아마 때문에
키릴 Oficerov

35

기본 시간 제한은 900 초입니다. 다른 시간 제한을 지정할 수 있습니다.

-T seconds
--timeout=seconds

기본값은 20 번 재 시도하는 것입니다. 다른 시도를 지정할 수 있습니다.

-t number
--tries=number

링크 : wget man 문서


7

귀하의 질문에서 PHP 스크립트라고 말 했으므로 가장 좋은 해결책은 단순히 스크립트를 추가하는 것입니다.

ignore_user_abort(TRUE);

이런 식으로 wget종료 하더라도 PHP 스크립트는 최소한 max_execution_time한계를 초과하지 않을 때까지 계속 처리 됩니다 (ini 지시문 : 기본적으로 30 초).

당으로 wgetanyay 당신이 그 제한 시간을 변경해서는 안 유닉스 매뉴얼에 따라 기본 wget을 제한 시간은 900 초 (15 분)입니다 5-6 분 당신이 필요로하는 것을 훨씬 큰 whis.


7

버전 1.14 이전에는 버그 로 인해 https를 통해 다운로드하는 경우 wget 시간 초과 인수가 준수되지 않았습니다 .


제길! wget을 1.12와 CentOS는 6 배, 내가 HTTPS 링크와 같은 문제를 가지고
데이지

똑같은 오류가 있습니다! 인증서가 만료 된 https 링크에서 Wget이 중지되었습니다!
Dylan B
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.