11:09:55>bash>pcfarm>wget http://www.cern.ch --11:10:03-- http://www.cern.ch:80/ => `index.html' Connecting to proxy.pnpi.spb.ru:81... connected! Proxy request sent, awaiting response...Иными словами, запрос послан.
А вот что происходит, когда канал не работает более часа. В запросе было указано, что новую попытку чтения следует делать через один час -w1h.
dbserv: 11:48 /usr/users/shevel > wget -Yoff -w1h http://www.cern.ch --11:48:48-- http://www.cern.ch:80/ => `index.html' Connecting to www.cern.ch:80... connect: Connection timed out Retrying. --12:50:03-- http://www.cern.ch:80/ (try: 2) => `index.html' Connecting to www.cern.ch:80... connect: Host is unreachable Retrying. --13:51:17-- http://www.cern.ch:80/ (try: 3) => `index.html' Connecting to www.cern.ch:80... connected! HTTP request sent, fetching headers... done. Length: unspecified [text/html] 0K -> ......... 13:51:38 (533.79 B/s) - `index.html' saved [10165]
А что произойд©т, если соединение с удал©нным сервером очень
медленное, а файл велик по размеру? Естественно, что во время передачи
соединение может быть потеряно. Если соединение будет потеряно до того,
как будет закончено копирование файла, то Wget попытается
возобновить копирование. По умолчанию делается 20 попыток. Вы можете
установить сво© значение.
wget -tries=45 http://www.cern.ch
Наконец, вы можете запустить Wget в фоновом режиме и направить вывод
в протокольный файл log.
wget -t 45 -o log http://fly.cc.fer.hr/jpg/flyweb.jpg &
Как мы помним -t означает то же самое, что -tries.
Если вы желаете установить неограниченное число повторов, то используйте
-t inf.
Использование FTP также очень просто.
wget ftp://ftp.desy.de/ls-lR
Если вы укажете не отдельный файл, а каталог, то Wget скопирует оглавление каталога и преобразует его в документ вида HTML, который запишет в ваш рабочий каталог под именем index.html.
Вы можете создать зеркальную копию
сервера GNU с одной попыткой чтения каждого документа и записью
всего,
что происходило за время копирования в файл gnulog:
wget -r -t1 http://www.gnu.ai.mit.edu/ -o gnulog
Вы можете скопировать первый уровень всех линков с хоста http://www.yahoo.com/:
wget -r -l1 http://www.yahoo.com/
Если вы, кроме того, захотите видеть на экране все заголовки, то используйте
wget -r -l1 -S http://www.yahoo.com/
Если вы пожелаете записать все заголовки в начале файлов, которые вы
копируете, то это делается так:
wget -s http://www.lycos.com/
more index.html
В файле index.html в начале будут заголовки, которые послал сервер.
Другая задача. Скопировать первые два уровня документов, сохранив их в
каталоге /tmp
wget -P/tmp -l2 ftp://wuarchive.wustl.edu/
Допустим, вам необходимо скопировать все PDF файлы с удал©нного
сервера.
В этом случае команда
wget http://host/dir/*.pdf
не будет работать, поскольку HTTP протокол не поддерживает подобное
расширение им©н файлов. В этом случае, вы должны использовать:
wget -r -l1 -no-parent -A.pdf http://host/dir/
Комбинация параметров -r -l1 означает рекурсивный поиск с глубиной
1. А выражение -no-parent означает, что ссылки к
родительскому каталогу
должны игнорироваться. Наконец, -A.pdf означает, что следует
копировать только файлы типа PDF. Кстати, если написать -A"*.pdf" (с кавычками),
то это тоже будет работать.
Предположим, Wget была прервана в середине процесса копирования
группы файлов. Вы не желаете, чтобы имело место автоматическое расширения
им©н файлов, которые успели скопироваться на ваш компьютер до
прерывания Wget.
wget -nc -r http://www.gnu.ai.mit.edu/
Программа Wget распозна©т URL, указываюшие на личные данные
конкретного пользователя, а не только anonymous. Общий формат
проивед©н задесь
ftp://user:password@host/path http://user:password@host/path
Если вы хотите скопировать файл из вашего собственного каталога, то
wget ftp://shevel:mypass@rec03.pnpi.spb.ru/lecture
Однако, если файл находится не в вашем каталоге, а, например, выше по
каталожной иерархии, то следует использовать другую форму команды
SPMquot
wget ftp://shevel:mypass@rec03.pnpi.spb.ru/../../data/lecture"
В показанном примере вы бер©те файл из каталога data, который
находится на один уровень выше, чем основной каталог
пользователя shevel и находится в соседней ветви дерева каталогов.
В ряде случаев, URL полезно взять в кавычки:
wget "ftp://shevel:mypass@rec03.pnpi.spb.ru/../../data/lecture"
Если вы желаете сменить стиль визуализации процесса копирования, то можно,
например, установить:
wget -dot-style=binary ftp://prep.ai.mit.edu/pub/gnu/README
Такой стиль часто оказывается удобнее (8K байтов на точку или 512K байтов
на
строку). Стиль, который вам оказался более по вкусу, можно
поместить в ваш файл .wgetrc, сделав тем самым этот стиль
стандартным умолчанием.
crontab
0 0 * * 0 wget -m ftp://ftp.xemacs.org/pub/xemacs/ \
-o /home/shevel/weeklog
\