2013-12-01 2 views
3

Можно ли ограничить или ограничить объем данных wget загрузок с сайта? Либо через настройку сервера, либо настройку wget?Предельный размер wget можно скачать

Например, одна страница размером 1 ГБ, я хочу, чтобы wget прекратил загрузку со скоростью 100 МБ.

ответ

8

Использование способности системы ограничить потребление ресурсов процессами с помощью команды ulimit должно работать. Предполагая, что вы используете bash:

(ulimit -f 102400; wget $url) 

Здесь размер составляет 1024 байта. Обратите внимание, что если вы используете другую еще стандарт оболочку, или использовать bash в режиме POSIX, размер блока равен 512 байт, поэтому команда должна быть:

(ulimit -f 204800; wget $url) 
+0

Спасибо, отлично! (плюс другие опции 'ulimit', о которых я никогда не знал) –

0

Проверьте здесь для обсуждения, первое звено в поиске Google:

https://unix.stackexchange.com/questions/16415/can-one-limit-the-max-file-size-to-download-using-wget

+1

От http://stackoverflow.com/help/how- to-answer 'Предоставить контекст для ссылок Рекомендуются ссылки на внешние ресурсы, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы у ваших коллег было некоторое представление о том, что это такое и почему оно есть. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно отключен. ' – jlliagre

5

См -Q или --quota вариантов в man wget.

Укажите квоту для автоматического поиска. Значение может быть указано в байтах (по умолчанию), килобайтах (с суффиксом k) или мегабайтах (с суффиксом m).

Обратите внимание, что квота никогда не повлияет на загрузку одного файла. Поэтому, если вы укажете wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, все ls-lR.gz будут загружены. То же самое происходит даже тогда, когда в командной строке указано несколько URL-адресов. Тем не менее, квота соблюдается при возврате либо рекурсивно, либо из входного файла. Таким образом, вы можете безопасно набирать wget -Q2m -i-сайты - загрузка будет прервана при превышении квоты.

К сожалению, как поясняется в тексте, это может быть вам не полезно: если вы пытаетесь загрузить определенную страницу или файл, этот лимит не будет применяться. Квота будет применяться только при рекурсивной загрузке.

Другой вариант - запустить загрузку в фоновом режиме, контролировать размер файла и убить wget, когда размер файла превышает лимит.

Смежные вопросы