Laut der Manpage von wget gibt es einige Optionen im Zusammenhang mit Zeitüberschreitungen - und es gibt eine Standard-Lesezeitüberschreitung von 900s - also sage ich, dass es eine Zeitüberschreitung geben könnte.
Hier sind die fraglichen Optionen:
-T seconds
--timeout=seconds
Stellen Sie das Netzwerk-Timeout auf Sekunden Sekunden ein. Dies ist äquivalent zu spezifizieren --dns-timeout
,
--connect-timeout
und
--read-timeout
, die alle zur gleichen Zeit.
Und für diese drei Optionen:
--dns-timeout=seconds
Stellen Sie das DNS-Suchzeitlimit auf Sekunden Sekunden ein.
DNS-Suchvorgänge, die nicht innerhalb der angegebenen Zeit abgeschlossen werden, schlagen fehl.
Standardmäßig gibt es keine Zeitüberschreitung bei DNS-Suchvorgängen, außer der von Systembibliotheken implementierten.
--connect-timeout=seconds
Stellen Sie das Verbindungszeitlimit auf Sekunden Sekunden ein.
TCP-Verbindungen, deren Herstellung länger dauert, werden abgebrochen.
Standardmäßig gibt es kein anderes Verbindungszeitlimit als das von Systembibliotheken implementierte.
--read-timeout=seconds
Stellen Sie das Lese- (und Schreib-) Zeitlimit auf Sekunden Sekunden ein.
Die "Zeit" dieses Zeitlimits bezieht sich auf die Leerlaufzeit: Wenn zu einem beliebigen Zeitpunkt des Downloads länger als die angegebene Anzahl von Sekunden keine Daten empfangen werden, schlägt das Lesen fehl und der Download wird neu gestartet.
Diese Option wirkt sich nicht direkt auf die Dauer des gesamten Downloads aus.
Ich nehme an, so etwas zu benutzen
wget -O - -q -t 1 --timeout=600 http://www.example.com/cron/run
sollte sicherstellen, dass es keine Zeitüberschreitung gibt, die länger als die Dauer Ihres Skripts ist.
(Ja, das ist wahrscheinlich die brutalste Lösung ^^)