захват wget пустых файлов, которые на самом деле существуют

Если Вы не используете степени, ext4 может быть смонтирован как ext3.

3
21.09.2013, 19:45
3 ответа

Вы могли бы хотеть примерить превращение wgetпереключатель отладки -d видеть, что продолжается.

Пример

$ wget -d http://services.runescape.com/m=itemdb_rs/api/graph/19227.json
DEBUG output created by Wget 1.12 on linux-gnu.

--2013-09-21 13:22:46--  http://services.runescape.com/m=itemdb_rs/api/graph/19227.json
Resolving services.runescape.com... 216.115.77.143, 8.26.16.145, 62.67.0.145, ...
Caching services.runescape.com => 216.115.77.143 8.26.16.145 62.67.0.145 64.94.237.145
Connecting to services.runescape.com|216.115.77.143|:80... connected.
Created socket 3.
Releasing 0x0000000000f251e0 (new refcount 1).

---request begin---
GET /m=itemdb_rs/api/graph/19227.json HTTP/1.0
Referer: http://www.google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host: services.runescape.com
Connection: Keep-Alive
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300

---request end---
HTTP request sent, awaiting response... 
---response begin---
HTTP/1.1 200 OK
Date: Sat, 21-Sep-2013 17:22:47 GMT
Server: JAGeX/3.1
Content-type: text/html; charset=ISO-8859-1
Content-Encoding: gzip
Cache-control: no-cache
Pragma: no-cache
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: settings=wwGlrZHF5gKN6D3mDdihco3oPeYN2KFybL9hUUFqOvk; version=1; path=/; domain=.runescape.com; Expires=Tue, 20-Sep-2016 17:22:47 GMT; Max-Age=94608000
Connection: Keep-alive
Content-length: 1668

---response end---
200 OK
cdm: 1 2 3 4 5 6 7 8
Stored cookie runescape.com -1 (ANY) / <permanent> <insecure> [expiry 2016-09-20 13:22:47] settings wwGlrZHF5gKN6D3mDdihco3oPeYN2KFybL9hUUFqOvk
Registered socket 3 for persistent reuse.
Length: 1668 (1.6K) [text/html]
Saving to: “19227.json”

100%[==============================================================================================================================>] 1,668       --.-K/s   in 0.08s   

2013-09-21 13:22:47 (21.4 KB/s) - “19227.json” saved [1668/1668]
2
27.01.2020, 21:28
  • 1
    я попробовал это, но он буквально не показывает единственную ошибку нигде. Просто больше подробной информации приблизительно 0-байтовый файл. Я даже вставил функцию для проверки, сколько загрузок привело к 0-байтовым файлам... честно я начинаю хотеть обвинить их сервер! Я попытаюсь связаться с ними в случае, если... благодарит за подсказку относительно сообщений отладки все же. Полезный! –  Jaska Börner 27.09.2013, 16:39
  • 2
    @JaskaBörner - да, в рассмотрении Вашего сценария я не вижу, что Вы делаете что-то не так или необычный, взгляды, совершенно допустимые мне. спасибо –  slm♦ 27.09.2013, 16:48

Есть ли где-нибудь, я мог улучшить свой сценарий для проверки размера файла или безотносительно перед загрузкой?

Прежде чем загрузка не имела бы никакого смысла, потому что, очевидно, серверу не удается правильно ответить на Ваши запросы загрузки. Это должно или возвратить надлежащий файл, или это должно возвратить код Ошибки HTTP, но по-видимому это не делает ни одного. Вы могли попробовать, действительно определяют удаленный размер файла с HTTP HEAD запрос, но так не пойдет Вы любая польза, когда удаленный файл прекрасен, но GET доставка все еще перестала бы работать.

Вместо этого используйте цикл в своем сценарии для цикличного выполнения через все файлы, которые Вы хотите загрузить. Загрузите каждый файл синглом wget запрос, и затем проверяет размер файла файла, который Вы загрузили. Если это - 0-байтовый файл, и Вы уверены, что это не должно быть, повторите запрос. Необходимо, конечно, добавить отказоустойчивый предел, таким образом, сценарий не повторит запрос бесконечно, если он всегда перестанет работать, и возможно также задержка (в случае, если сервер является уровнем, ограничивающим запросы и приводящим их к сбою намеренно).

1
27.01.2020, 21:28
  • 1
    я использовал задержку прежде (когда я попробовал ЗАВИХРЕНИЕМ), но это, казалось, ничего не изменило. Но с другой стороны я называл его от PHP, и это просто не работало над моим сервером, таким образом, я попытаюсь реализовать что-то вроде задержки между запросами здесь также. –  Jaska Börner 23.09.2013, 19:54

Удалите пустые файлы в целевом каталоге. Это то, чем я занимаюсь.

wget -c -t 40 -O /path/to/dir/myfile1
wget -c -t 40 -O /path/to/dir/myfile2

найти /path/to/dir -пустой -ввести f -удалить

...и все пустые файлы myfile исчезли.

-1
27.01.2020, 21:28

Теги

Похожие вопросы