Zgodnie ze stroną podręcznika wget , istnieje kilka opcji związanych z przekroczeniem limitu czasu - a domyślny limit czasu odczytu wynosi 900 sekund - więc mówię, że tak, może upłynąć limit czasu.
Oto opcje, o których mowa:
-T seconds
--timeout=seconds
Ustaw limit czasu sieci na sekundy sekundy. Jest to równoważne określeniu --dns-timeout
,
--connect-timeout
i
--read-timeout
, w tym samym czasie.
A dla tych trzech opcji:
--dns-timeout=seconds
Ustaw limit czasu wyszukiwania DNS na sekundy sekundy.
Wyszukiwania DNS, które nie zostaną zakończone w określonym czasie, zakończą się niepowodzeniem.
Domyślnie nie ma limitu czasu wyszukiwania DNS, innego niż ten zaimplementowany przez biblioteki systemowe.
--connect-timeout=seconds
Ustaw limit czasu połączenia na sekundy sekundy.
Połączenia TCP, których ustanowienie zajmie więcej czasu, zostaną przerwane.
Domyślnie nie ma limitu czasu połączenia, innego niż ten zaimplementowany przez biblioteki systemowe.
--read-timeout=seconds
Ustaw limit czasu odczytu (i zapisu) na sekundy sekundy.
„Czas” tego limitu czasu odnosi się do czasu bezczynności: jeśli w dowolnym momencie pobierania żadne dane nie zostaną odebrane przez więcej niż określoną liczbę sekund, odczyt kończy się niepowodzeniem i pobieranie jest wznawiane.
Ta opcja nie wpływa bezpośrednio na czas trwania całego pobierania.
Przypuszczam, że używając czegoś takiego
wget -O - -q -t 1 --timeout=600 http://www.example.com/cron/run
powinien upewnić się, że nie ma limitu czasu dłuższego niż czas trwania skryptu.
(Tak, to prawdopodobnie najbardziej brutalne rozwiązanie z możliwych ^^)