Ru-Board.club
← Вернуться в раздел «Программы»

» Wget

Автор: Serhi_84
Дата сообщения: 06.03.2008 13:02
Вновь появилась проблема с обновлением файлов базы антивируса. (общая картина приведена на 2 поста выше)

Предположим на сайте есть файлы с расширением *.gem и именами от 1 до 10. При наступлении нового дня появляется файл 11.gem, а файл 1.gem удаляется (ну или несколько самый старых файлов, к примеру 1.gem и 2.gem). На текущий момент у меня осуществляется скачивание только более нового файла (то есть наступает новый день - скачивается только 11.gem, а остальные не качаются, так как размер их не меняется и включен timestramping). Как-нибудь можно сделать, чтобы при скачивании нового файла удалялся старый файл, то есть зеркалирование страницы сервера. Причем файлы, которые не изменились (2-10.gem) скачиваться не должны для экономии траффика. Если использую -m, то перезаливаются все файлы.....использование же -m и -nc одновременно нельзя....
Автор: igor_andreev
Дата сообщения: 06.03.2008 13:55
Serhi_84
Может скажешь, если не секрет, что за антивирус и с какого сервера пытаешься обновлять? Больше вероятность правильного ответа будет.
Автор: Serhi_84
Дата сообщения: 06.03.2008 14:16
http://216.49.88.143/Products/CommonUpdater/Current/VSCANDAT1000/DAT/0000/

у меня локально хранится этот каталог. Мне нужно качать файлы *.gem

wget -np -nc -r -Agem -l3 -nH --cut-dirs=6 -P "путь для хранения" http://216.49.88.143/Products/CommonUpdater/Current/VSCANDAT1000/

такой командой у меня происходит закачка нового появляющегося gem-файла. (оставшиеся файлы нет смысла закачивать снова так как они не меняются). Но на сервере вместе с появлением нового файла удаляется самый старый (то есть постоянно хранится 10-15 gem-файлов). Мне необходимо так же сделать, иначе размер моей локальной папки будет расти.....
конечно можно раз в месяц зайти в папку, удалить несколько самых старых, оставить 10-15 самых свежих и все.....но может быть wget может это реализовать?

то есть необходимо делать зеркалирование текущей страницы, и все изменения применять к моей локальной копии, а данные, которые остались постоянными - не трогать для экономии траффика

Автор: igor_andreev
Дата сообщения: 06.03.2008 16:15
Serhi_84
Положи в локальную папку с *.gem вот такой батник и запусти

Код:
@ECHO OFF

WGET -m ftp://ftp.nai.com/CommonUpdater/Current/VSCANDAT1000/DAT/0000/gdeltaavv.ini
FOR /F %%A IN ('DIR /B *AVV.GEM') DO (
FIND /I "%%A" gdeltaavv.ini>NUL 2>&1 || ECHO %%A REMOVED FROM FTP
)

PAUSE
Автор: BakLAN
Дата сообщения: 06.03.2008 23:32
mithridat1

Цитата:
А там текст кодирован escape.
Поэтому wget не видит ссылок.

Надо бы декодировать index.html здесь и подсунуть wget-у,запустив его загружать сайт с опцией -nc

Декодировал, а чё дальше?

wget.exe -m -nc http://kkwarezupload.com/ccna/ не работает...
Автор: Serhi_84
Дата сообщения: 07.03.2008 07:56
igor_andreev, спасибо огромное, все прекрасно сработало! (вместо последней эхи использовал del и получилось локальное зеркало страницы сайта с gem-файлами)
Автор: igor_andreev
Дата сообщения: 07.03.2008 13:00
Serhi_84

Цитата:
вместо последней эхи использовал del

Ну да, это и имелось ввиду. Только немного переделай. Если файла gdeltaavv.ini в папке не окажется, мало ли там, сбой на сервере mcafee, сбой у твоего провайдера и т.п. - то все локальные файлы *.gem будут удалены напрочь, FIND не найдет их названий в gdeltaavv.ini, а DEL команда суровая и фамильярничать не позволяет.

Код:
IF EXIST gdeltaavv.ini (
FOR /F %%A IN ('DIR /B *AVV.GEM') DO (
FIND /I "%%A" gdeltaavv.ini>NUL 2>&1 || DEL %%A
)
)
Автор: mithridat1
Дата сообщения: 07.03.2008 16:06
BakLAN

Цитата:
wget.exe -m -nc http://kkwarezupload.com/ccna/ не работает...

А если просто -r -np вместо -m поставить для рекурсии ? Или важно именно отзеркалить сайт ?
Вообще то,там в индексе ссылки прямые,не релятивные.
Автор: Maza Faka
Дата сообщения: 12.03.2008 09:39
Приветствую! Подскажите как правильно скачать файл по такой ссылке: "http://files.chirkom.uz/index.php?action=downloadfile&filename=VideoMach272.exe&directory=_Users/GooDeR&"?
Скармливаю Download Master-у он сохраняет как VideoMach272.exe, то есть правильно, а wget создаёт несколько вложенных подпапок и сохраняет файл как GooDeR& пытался использовать параметр --referer но безуспешно
Автор: Auren
Дата сообщения: 15.03.2008 20:39
Помогите правильно составить скрипт. Есть ссылка с постоянно обновляемым изображением. Так работает веб-камера по принципу still image. Так вот, требования такие:

1. Скачивать файл по ссылке http://server/webcam.jpg в папку C:\webcam
2. Переименовывать в формате webcam-ддччммсс (день, час, минута, секунда)
3. Повторить п.1 (без задержек, но дожидаться полной загрузки изображения)
4. Выполнять до тех пор, пока я не остановлю его вручную.
Автор: iglezz
Дата сообщения: 15.03.2008 22:40
Auren
getshot.bat
Код: [no]:loop[/no]
wget -nv -O webcam-[no]%date:~0,2%[/no]_[no]%time:~0,2%[/no]_[no]%time:~3,2%[/no]_[no]%time:~6,2%[/no].jpg [no]http://server/webcam.jpg[/no]
[no]goto[/no] loop
Автор: Auren
Дата сообщения: 15.03.2008 23:11
iglezz
Спасибо! Работает превосходно. Как часы.

Но все-таки, на будущее, как мне потом изменить скрипт, чтобы он снимал картинку каждые n минут?

Что-то вроде:

Цитата:
:loop
wget -nv -w 60 -O webcam-%date:~0,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.jpg http://server/webcam.jpg
goto loop

?
Автор: juvaforza
Дата сообщения: 15.03.2008 23:36
А как, например, скачать все файлы отсюда за раз, если такое возможно?
Автор: igor_andreev
Дата сообщения: 16.03.2008 00:31
Auren
sleep.exe из 2003 Resource Kit sleep.zip (~2Кб)
и перед goto вставь команду sleep 300, будет раз в пять минут скачивать
juvaforza

Код:
wget -r отсюда
Автор: Aeismann
Дата сообщения: 18.03.2008 13:02
iglezz, респект, напомнил мне про извлечение подстроки, я как раз парился над вопросом, как бы получить дату в нужном формате!

Только этот скрипт будет работать исключительно для случая, когда в системных региональных настройках стоит формат даты дд.ММ.ГГГГ. Никто не знает, как можно определить из батника этот формат или поменять на время?

P.S. Вот мой батник для скачивания апдейтов к доктору Вебу, может, пригодится кому


Код: @echo off

set DrWeb=C:\Soft\System\DrWeb\

rem set Log=--output-file wget.log
set WGETRC=%CD%\.wgetrc

wget -O.\Archive\list.html http://www.drweb.ru/download/50/
wget -Azip -P .\Archive -i.\Archive\list.html -F

7za e Archive\*.zip -oUnpack -aos -x!*.txt
7za e Archive\*today*.zip -oUnpack -aoa -x!*.txt

xcopy Unpack\*.* %DrWeb% /Y /C

pause
Автор: iglezz
Дата сообщения: 18.03.2008 14:37
Aeismann

Цитата:
Только этот скрипт будет работать исключительно для случая, когда в системных региональных настройках стоит формат даты дд.ММ.ГГГГ. Никто не знает, как можно определить из батника этот формат или поменять на время?


Код: reg query "HKCU\Control Panel\International" /v "sShortDate"
Автор: Aeismann
Дата сообщения: 18.03.2008 17:58
iglezz, круто!! Не знал!

Да вообще-то это у меня для создания бэкапов, что к вгету не относится )). Раньше юзал рар, он сам дату подставляет, а сейчас перешёл на 7зип, пришлось самому генерить...
Автор: igor_andreev
Дата сообщения: 18.03.2008 18:03
Aeismann
http://forum.ru-board.com/topic.cgi?forum=5&topic=25393&start=347&limit=1

Автор: djdes22
Дата сообщения: 23.03.2008 20:21
привет я выслал игорю PM но решил ещё тут попросить помощи, в общем мне нужно коннектится каждые 15мин к фтп серверу защищенным ssl смотрел что там находится последнее и качал локально при этом создав папку с текущим днём , и создавал папку с названием папки выше этого файла(я имею ввиду если была такая ftp://xxx.xxx.xxx.xxx/mp3/0313/House/) то создавалась бы папка House .
Есть более подробное ТЗ. я понимаю можно это впринципе wget +cron но мне бы под windows. я немогу подобрать все комманды к wget вообще 3-ий раз перечитываю хелп и немогу уж точно подобрать то что надо.
помогите ктонить
Автор: dixam
Дата сообщения: 30.03.2008 22:44
дублирую вопрос из http://forum.ru-board.com/topic.cgi?forum=62&topic=13556&glp#lt

структура папок на фтп такова:
2008-03-28
2008-03-29
2008-03-30

папки на фтп чистятся на следующий день простым удалением самой "старой".

далее в каждой из папок за определенный день есть папка ARCHIVE
вот оттуда и надо качать файлы строго zip rar iso 7z но не менее 1 Мб.
и складывать на винте по дням, например создавая папки 28 29 30

вход на фтп анонимный.

пока получилось по совету igor_andreev
набросать это в комстроке

wget ftp://мой.фтп.ru/ -I ARCHIVE/ -r -m -R *.nfo, *.bin -A *.zip, *.rar, *.iso, *.7z -P K:\arch -c

что получилось: wget "пробегает" по всем директориям, пишет в консоли о пропущенных расширениях файлов и создает полную копию фтп по дням с файлом ".листинг" причем в своей папке вместо указанной и все созданные лиректории мало того, что пустые так и без указанных для скачки расширений файлов....

что не получилось: копировать нужные файлы именно из папки ARCHIVE каждого дня,
создавать папки по указанному пути на винте "K:\arch", ну и совсем уже для полного счастья сделать автоматический "инкремент" дней в команде wget`а и оформить все это в батник...
Автор: igor_andreev
Дата сообщения: 30.03.2008 23:07
dixam
Начни с простого чего-нибудь и добавляй --опции по мере необходимости, найдешь на чем wget спотыкается. Например сначала просто:

Код:
wget -P K:\Arch ftp://host/
Автор: dixam
Дата сообщения: 31.03.2008 17:03
после этой команды

wget -P K:\Arch ftp://host/

отваливается с ошибкой..версия 1.11 хотя файл index.html создается но пустой..
не понял как вставить скрин ошибки, но по внешнему виду схожа с предыдущим сообщением.
Автор: Nicka_Grey
Дата сообщения: 31.03.2008 22:37
igor_andreev
Нужно поставить vcredist_x86.exe
Либо библиотеки из внутренностей положить рядом
Автор: igor_andreev
Дата сообщения: 01.04.2008 00:04
Nicka_Grey
vcredist cтоит. Рядом библиотеки не пробовал ложить. Да и уже не буду пробовать, стер 1.11. Это ненормально, если программа не видит в system32 нужную dll-ку
dixam

Цитата:
отваливается с ошибкой..версия 1.11 хотя файл index.html

А ты то зачем 1.11 скачал? Я тебе в теме про батники линк на 1.10.2 давал, она уже испытана всяко-разно.
Автор: Victor_VG
Дата сообщения: 01.04.2008 03:49
dixam


Цитата:
GNU Wget 1.10.2, SSL Support, Русская версия.

GNU Wget - это консольная программа для неинтерактивной загрузки файлов по сети, портированная на платформу Win32/64 с систем UNIX/LINUX. Она позволяет осуществлять параллельную фоновую загрузку множества файлов, поддерживает докачку и имеет многие другие возможности, включая работу с текстовыми списками закачки. Для её работы у Вас должна быть запущена служба BITS (Background Intelligent Transfer Service, Служба Фоновой Интеллектуальной Передачи Данных)!
Примечание: эта сборка создана с поддержкой OpenSSL 0.97g и новее.

Рекомендации по устранению возможных проблем.

Программа использует библиотеки библиотеки OpenSSL. Их можно скачать по ссылке (текущая версия 0.9.8g) Win32OpenSSL Light 0.9.8g (только исполняемые модули без SDK) или включая SDK Win32SSL 0.9.8g. Сайт проекта Win OpenSSL - Win32 OpenSSL. Последние версии библиотек качайте по ссылке на офсайте! При использовании иных ссылок я не могу Вам гарантировать что у Вас всё будет работать правильно!

Устроит? Или будешь пробовать новейшую версию с её проблемами? Эта версия GNU Wget 1.10.2 у меня стоит уже несколько лет, на моём сайте с полгода валяется, и с ней нет проблем. Коли б были, то давно бы уже у меня на сайте кто нибудь задал бы вопрос о "неутыках", а раз нет проблем, вот все и молчат. Пользуются.
Автор: Aeismann
Дата сообщения: 01.04.2008 11:40
Скажите мне, а на хрена ей BITS ?!
Автор: Nicka_Grey
Дата сообщения: 01.04.2008 13:22
igor_andreev
Та как раз нюанс в том какая из версий vcredist ему нужна
Т.е. под какаой VS собирался
Правильнее конечно что бы статически собран был, без всяких там зависимостей

Victor_VG
я тоже долгое время юзал 1.10.2, и сейчас до сих пор еще на некоторых клиентских машинах ее и юзаю

Aeismann
откуда инфа что сабж юзает BITS ?
самому просто очень интересно

Автор: Aeismann
Дата сообщения: 01.04.2008 16:54
Nicka_Grey, от Виктора... постом выше... хз, у меня она отрублена, а Вгет работает. Что я делаю не так? ))
И что еще за vcredist?
Автор: NoAngel777
Дата сообщения: 01.04.2008 17:01
igor_andreev

Цитата:
wget 1.10.2 и старее отрабатывают как надо, а 1.11 (пробовал и с christopherlewis.com и сборку NoAngel777) вываливается с ошибкой.

http://rapidshare.com/files/104045142/wget.exe.gz - попробуйте это - всё вкомпилировано

Добавлено:
VS 2008 Pro

CFLAGS=/MT /Ox /Os /Zp1 /Ob1 /W0 /w /Gs0 /GS- /GR- /GF /Gy /GL
LFLAGS=/opt:ref /opt:icf /release /ltcg /dynamicbase /nxcompat
Автор: igor_andreev
Дата сообщения: 01.04.2008 17:34
NoAngel777
То же самое, падает

Страницы: 12345678910111213141516

Предыдущая тема: Windows XP FAQ = обновлен 19 мая =


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.