Вот есть список ссылок (все точно ведут на файлы без скриптов каких либо и переадресаци), штук 150, и их надо проверить на наличие ошибки 404, а затем неработающие записать в отдельный файл. Возможно ли такое реализовать? Если нет, как по проще моего вариана сделать, возможно ли такое? Читал в справке, что wget может быть сетевым пауком, но оно ли это?
» Wget
Нужна помощь. Задача такая. Нужно, что бы wget проверял указанный ftp и загружал его содержимое в указанную папку. Нужно так же, что бы при проверке, он смотрел, не менялись ли файлы и если они менялись, то загружал бы новые, заменяя локальную копию. Есть ещё одно "НО", локальные файлы могут меняться пользователем и оказаться по дате изменения новее тех, которые на ftp, но нужно, что бы локальные файлы были всегда только такими, какие на фтп, а не теми, которые накосячил пользователь.
Сделал так:
wget -c -r -np -nH -p ftp://мойфтп.ru -P "С:\Моя_папка"
Всё работает исправно, файлы сливаются, при изменении на серваке скачивается новая версия. Но вот проблема, если я локально вношу любое изменение в файл, то локально уже остается моя версия и версия этого же файла без изменений уже не берется с фтп.
Помогите разобраться, где ошибка. Заранее большое спасибо.
Сделал так:
wget -c -r -np -nH -p ftp://мойфтп.ru -P "С:\Моя_папка"
Всё работает исправно, файлы сливаются, при изменении на серваке скачивается новая версия. Но вот проблема, если я локально вношу любое изменение в файл, то локально уже остается моя версия и версия этого же файла без изменений уже не берется с фтп.
Помогите разобраться, где ошибка. Заранее большое спасибо.
Aushkin
Для этого есть следующая опция
Цитата:
Но если файлы локально были изменены пользователем то wget это никак не распознает
(Особенно если и размеры остались теми же)
Для этого есть следующая опция
Цитата:
-N, --timestamping don't retrieve files if older than local.
Но если файлы локально были изменены пользователем то wget это никак не распознает
(Особенно если и размеры остались теми же)
-N никак не влияет на ситуацию. Если меняется файл на сервере, то загружается его обновленный вариант, но если меняется локальный файл, естетсвенно меняется и его timestamping и размер, то wget не трогает его и не заменяет его на оригинальный файл.
А нужно, что бы в локальной папке всегда была копия только удаленной директории и соответственно оригинальных файлов.
Да и кстати, "don't retrieve files if older than local." означает "не загружать файл, если он старее, чем локальный", а в моём случае нужно, что бы файлы загружались так или иначе, при условии, что локальная версия отличается от удаленной.
По сути, нужно что бы происходил мироринг, но только в одну сторону.
А нужно, что бы в локальной папке всегда была копия только удаленной директории и соответственно оригинальных файлов.
Да и кстати, "don't retrieve files if older than local." означает "не загружать файл, если он старее, чем локальный", а в моём случае нужно, что бы файлы загружались так или иначе, при условии, что локальная версия отличается от удаленной.
По сути, нужно что бы происходил мироринг, но только в одну сторону.
Aushkin
Цитата:
Ну так а ключ --mirror для чего по твоему существует?
Цитата:
нужно что бы происходил мироринг, но только в одну сторону.
Ну так а ключ --mirror для чего по твоему существует?
по моему --mirror существует для зеркалирования, но по моему зеркалирование оно понятие двустороннее, т.е. более новые файлы заменяют старые, как в одну, так и в другую стороны. Или я не прав?
что так:
wget -c -r -np -nH -p ftp://мойфтп.ru -P "С:\Моя_папка"
что так:
wget -c -r -np -nH -p --mirror ftp://мойфтп.ru -P "С:\Моя_папка"
результат эдентичен.
Стоит внести изменения в локальный файл, всё, он не будет перезаписан до тех пор, пока на сервере не появится версия старще локальной. А нужно, что бы в локальной директории всегда было только и строго то, что на фтп и никак иначе, без вариантов. Сколько бы юзер не ковырял файлы, нужно, что бы при очередной синхронизации, все его художества были безжалостно убиты и заменены чистой копией оригинальных файлов с сервера. Естественно, если что-то локально менялось, если нет, то загружаются только новые.
что так:
wget -c -r -np -nH -p ftp://мойфтп.ru -P "С:\Моя_папка"
что так:
wget -c -r -np -nH -p --mirror ftp://мойфтп.ru -P "С:\Моя_папка"
результат эдентичен.
Стоит внести изменения в локальный файл, всё, он не будет перезаписан до тех пор, пока на сервере не появится версия старще локальной. А нужно, что бы в локальной директории всегда было только и строго то, что на фтп и никак иначе, без вариантов. Сколько бы юзер не ковырял файлы, нужно, что бы при очередной синхронизации, все его художества были безжалостно убиты и заменены чистой копией оригинальных файлов с сервера. Естественно, если что-то локально менялось, если нет, то загружаются только новые.
А как оно должно выглядеть с FTP и с таким учетом, что бы директория с названием FTP не создавалась, короче говоря, как в моём варианте, но с Вашим исправлением?
Вот я попробовал так:
wget -m -c -r -np -nH -p ftp://мойфтп.ru -P "С:\Моя_папка"
тоже получил после изменения файла т повторного запуска wget:
The sizes do not match (local 22) -- retrieving.
Но! В папке остался измененный мной файл! Я чего-то не верно делаю?
Вот я попробовал так:
wget -m -c -r -np -nH -p ftp://мойфтп.ru -P "С:\Моя_папка"
тоже получил после изменения файла т повторного запуска wget:
The sizes do not match (local 22) -- retrieving.
Но! В папке остался измененный мной файл! Я чего-то не верно делаю?
Aushkin
А если без -c?
А если без -c?
Можно, но "-с" это:
-c, --continue resume getting a partially-downloaded file.
эммм.... но работает. Спасибо большое!
В итоге получилась такая конструкция:
wget -m -r -np -nH -p -N ftp://мойфтп.ru -P "С:\Моя_папка"
но тогда вопрос, что будет с частично загруженным файлом, если во время загрузки связь разорвалась? -c и был добавлен, для того, что бы догружал.
-c, --continue resume getting a partially-downloaded file.
эммм.... но работает. Спасибо большое!
В итоге получилась такая конструкция:
wget -m -r -np -nH -p -N ftp://мойфтп.ru -P "С:\Моя_папка"
но тогда вопрос, что будет с частично загруженным файлом, если во время загрузки связь разорвалась? -c и был добавлен, для того, что бы догружал.
А на мой вопрос никто не в состоянии ответить? =(
Цитата:
Уже где только не спрашивал, все молчат. Может я вопрос не так задал, хотя что тут не понятного? Проверить ссылки на работоспобность
Цитата:
Вот есть список ссылок (все точно ведут на файлы без скриптов каких либо и переадресаци), штук 150, и их надо проверить на наличие ошибки 404, а затем неработающие записать в отдельный файл. Возможно ли такое реализовать? Если нет, как по проще моего вариана сделать, возможно ли такое? Читал в справке, что wget может быть сетевым пауком, но оно ли это?
Уже где только не спрашивал, все молчат. Может я вопрос не так задал, хотя что тут не понятного? Проверить ссылки на работоспобность
b3nd3rster
А wget в случае ошибки 404 выдаёт цифру 404 или известную надпись, которую можно было бы отловить командой find? Если да, то проблема, в общем-то разрешима, хотя относится уже к программированию на BAT-файлах или (если разбираешься) ещё круче можно сделать на WSH.
Только не спеши задавать вопросы в лоб - почитай тему. По сути, там уже есть все фрагменты кода, какие тебе нужны.
А wget в случае ошибки 404 выдаёт цифру 404 или известную надпись, которую можно было бы отловить командой find? Если да, то проблема, в общем-то разрешима, хотя относится уже к программированию на BAT-файлах или (если разбираешься) ещё круче можно сделать на WSH.
Только не спеши задавать вопросы в лоб - почитай тему. По сути, там уже есть все фрагменты кода, какие тебе нужны.
Цитата:
Уже где только не спрашивал, все молчат.
А тут говорить то и не о чем. Wget у тебя под рукой, список тоже, хэлп у wget встроен...
Берешь свой список, files.txt например:
Цитата:
http://nncron.ru/download/nncron191.exe
http://nncron.ru/download/nncron190.exe
http://nncron.ru/download/nncron189.exe
http://nncron.ru/download/nncron188.exe
http://nncron.ru/download/nncron187.exe
http://nncron.ru/download/nncron186.exe
Вырубаешь все параметра в .wgetrc, относящиеся к ведению лога.
Код:
debug=off
verbose=off
quiet=off
server_response=off
Че то я не пойму.
через браузер открывается
www.faqs.org/rfcs/rfc1.html
пишу
wget www.faqs.org/rfcs/rfc1.html
---> Resolving www.faqs.org... failed: Host not found
ping www.faqs.org
Обмен пакетами с www.faqs.org [207.44.235.116] по 32 байт:
Ответ от 207.44.235.116: число байт=32 время=298мс TTL=48
Ответ от 207.44.235.116: число байт=32 время=275мс TTL=48
GNU Wget 1.9.1
через браузер открывается
www.faqs.org/rfcs/rfc1.html
пишу
wget www.faqs.org/rfcs/rfc1.html
---> Resolving www.faqs.org... failed: Host not found
ping www.faqs.org
Обмен пакетами с www.faqs.org [207.44.235.116] по 32 байт:
Ответ от 207.44.235.116: число байт=32 время=298мс TTL=48
Ответ от 207.44.235.116: число байт=32 время=275мс TTL=48
GNU Wget 1.9.1
Вот еще пример:
Код:
wget http://rarlab.com/rar/wrar370ru.exe
--21:23:14-- http://rarlab.com/rar/wrar370ru.exe
=> `wrar370ru.exe'
Resolving rarlab.com... failed: Host not found.
Код:
wget http://rarlab.com/rar/wrar370ru.exe
--21:23:14-- http://rarlab.com/rar/wrar370ru.exe
=> `wrar370ru.exe'
Resolving rarlab.com... failed: Host not found.
не прикручивается сабж к мозиле.
делаю как написано, урл не находится.
и еще, мне надо для премиума рапидшары, чтобы автоматически подставлялось имя юзера и пароль. подскажите плиз как это сделать?
делаю как написано, урл не находится.
и еще, мне надо для премиума рапидшары, чтобы автоматически подставлялось имя юзера и пароль. подскажите плиз как это сделать?
Товарищи, кто знает, как собрать сабж с поддержкой соксов? Рылся в нете, но там везде говорят, что нужна либа, и отправляют на сайт, который в дауне. Так-то я прогу скомпилял, но вот с соксами никак не выходит...
Aeismann
Я тоже давно ищу такую сборку,но никто не отзывается
Я тоже давно ищу такую сборку,но никто не отзывается
mithridat1, вот-вот... я писал в саппорт, но их мыло недоступно, писал Кристоферу, но он не ответил... может, на никсовых форумах спросить? Но я не знаю, где именно...
Aeismann
Цитата:
Сайт этот я так понимаю socks.nec.com.В принципе библиотеки socks5 которые там лежали сейчас можно и фтп-поиском найти... Сейчас попробую.
Добавлено:
Aeismann
ftp://ftp.kstu-kai.ru/os/unix/socks/v1.0r11/socks5-v1.0r11.tar.gz
ftp://ftp.kuban.ru/.1/Linux.1/Software1/socks5-v1.0r11.tar.gz
ftp://admin.tomsk.ru/pub/FreeBSD/distfiles/socks5-v1.0r11.tar.gz
http://freeware.sgi.com/source/socks5/socks5-v1.0r11.tar.gz
Вот по моему те библиотеки,что на socks.nec.com лежали
Цитата:
отправляют на сайт, который в дауне
Сайт этот я так понимаю socks.nec.com.В принципе библиотеки socks5 которые там лежали сейчас можно и фтп-поиском найти... Сейчас попробую.
Добавлено:
Aeismann
ftp://ftp.kstu-kai.ru/os/unix/socks/v1.0r11/socks5-v1.0r11.tar.gz
ftp://ftp.kuban.ru/.1/Linux.1/Software1/socks5-v1.0r11.tar.gz
ftp://admin.tomsk.ru/pub/FreeBSD/distfiles/socks5-v1.0r11.tar.gz
http://freeware.sgi.com/source/socks5/socks5-v1.0r11.tar.gz
Вот по моему те библиотеки,что на socks.nec.com лежали
mithridat1, во, круто. Теперь бы еще заточить это под Вынь...
Aeismann
К сожалению,помочь в сборке с соксами не смогу,но если у вас все же получится просьба сообщить в теме.
К сожалению,помочь в сборке с соксами не смогу,но если у вас все же получится просьба сообщить в теме.
Мда, похоже, нереально. Покопался я в сорсах, но директива использования либы фактически нигде не используется, т.е. настройка происходит где-то в глубинах скрипта configure. А поскольку выполняется он только под никсами, то вывод неутешителен... В никсах я нуб, поэтому вряд ли сумею разобраться. Пробовал собирать вгет под Cygwin, но после кучи непонятных ошибок от линкера едва не возненавидел все никсы и Си скопом). Так что придётся юзать проги типа FreeCap - пускай и не очень красивое решение, но хотя бы рабочее.
В заключение выкладываю хоть какой-то результат - вгет без вшитых SSL, что отменяет необходимость тащить с ним две либы.
http://ifolder.ru/3830776
В заключение выкладываю хоть какой-то результат - вгет без вшитых SSL, что отменяет необходимость тащить с ним две либы.
http://ifolder.ru/3830776
Прошу помощи у специалистов по WGet-у.
Пытаюсь закачивать wget-ом апдейты к DrWeb.
Делаю это путём закачивания всех zip-файлов из заданной папки, ftp://ftp.drweb.com/pub/drweb/bases/. Однако в этой папке есть также пара файлов, которые не являются апдейтами баз, а именно vrcpp.zip и drweb32.zip. Однако они также регулярно обновляются и wget их также скачивает. Я не смог разобраться, как мне сделать так, чтобы программа их игнорировала.
Второй вопрос - можно ли как-то указать wget-у, чтобы скачанные файлы он складывал в определённую подпапку?
Вообще, в более широком смысле я бы хотел создать задание, которое бы позволяло просматривать папку на ftp, находить файлы, которые изменились со времени последней операции и скачивать только их, при этом не храня те, что были уже скачаны в прошлый раз.
Сможет ли кто-то мне помочь?
Заранее спасибо всем, кто сможет уделить этому время.
Пытаюсь закачивать wget-ом апдейты к DrWeb.
Делаю это путём закачивания всех zip-файлов из заданной папки, ftp://ftp.drweb.com/pub/drweb/bases/. Однако в этой папке есть также пара файлов, которые не являются апдейтами баз, а именно vrcpp.zip и drweb32.zip. Однако они также регулярно обновляются и wget их также скачивает. Я не смог разобраться, как мне сделать так, чтобы программа их игнорировала.
Второй вопрос - можно ли как-то указать wget-у, чтобы скачанные файлы он складывал в определённую подпапку?
Вообще, в более широком смысле я бы хотел создать задание, которое бы позволяло просматривать папку на ftp, находить файлы, которые изменились со времени последней операции и скачивать только их, при этом не храня те, что были уже скачаны в прошлый раз.
Сможет ли кто-то мне помочь?
Заранее спасибо всем, кто сможет уделить этому время.
Цитата:
Я не смог разобраться, как мне сделать так, чтобы программа их игнорировала
-R, --reject=LIST comma-separated list of rejected extensions.
Цитата:
можно ли как-то указать wget-у, чтобы скачанные файлы он складывал в определённую подпапку?
-P, --directory-prefix=PREFIX save files to PREFIX/...
Цитата:
Вообще, в более широком смысле я бы хотел создать задание, которое бы позволяло просматривать папку на ftp, находить файлы, которые изменились со времени последней операции и скачивать только их, при этом не храня те, что были уже скачаны в прошлый раз
А как, по-твоему, вгет сможет определить, что файл изменился, если он удалён?
Цитата:
list of rejected extensions
extensions - это расширения, типы файлов, я так понимаю? А если все файлы одного типа, zip?
Цитата:
-P, --directory-prefix=PREFIX
Спасибо, сейчас проверю!
Проверил.
Переместил все zip-файлы в папку Bases. Создал Reject.txt с содержанием "vrcpp.zip, drweb32.zip", в командной строке добавил --reject=Reject.txt. Удалил эти два файла.
Командная строка: wget.exe -b -N -owget.log -t3 -nH --directory-prefix=Bases --reject=Reject.txt ftp://ftp.drweb.com/pub/drweb/bases/*.zip
Два удалённых файла скачались.
Что я сделал не так?
Цитата:
А как, по-твоему, вгет сможет определить, что файл изменился, если он удалён?
Я не знаю, потому и спрашиваю. Я привык думать, что иксовые утилиты через командную строку разве что кофе не варят. Может, он умеет с txt-файлами работать, читать из них ссылки с параметрами в виде даты, скажем, и времени создания, и при полном совпадении этих параметров с такими у файлов на ftp не качать их.
Не умеет? Ну, жаль, но не особенно. И так, в общем-то, работает, но хотелось бы совсем красиво и аккуратно сделать
Цитата:
extensions - это расширения, типы файлов, я так понимаю? А если все файлы одного типа, zip?
Не знаю, почему они написали про расширения, но у меня работает как обычная маска, например, параметр
"-A*o*.*"
закачивает только файлы с буквой "о" в имени.
Цитата:
Создал Reject.txt с содержанием "vrcpp.zip, drweb32.zip", в командной строке добавил --reject=Reject.txt
Насколько я понимаю, такая фишка не проканает, только "comma-separated list". А такой командой ты запретил скачивать файл "Reject.txt" =)))
Цитата:
Я привык думать, что иксовые утилиты через командную строку разве что кофе не варят. Может, он умеет с txt-файлами работать, читать из них ссылки с параметрами в виде даты, скажем, и времени создания, и при полном совпадении этих параметров с такими у файлов на ftp не качать их.
Ну, может, какая-то другая утила и умеет, но вгет нет...
Цитата:
Насколько я понимаю, такая фишка не проканает, только "comma-separated list". А такой командой ты запретил скачивать файл "Reject.txt" =)))
Да, это я протупил Исправил на --reject=drweb32.zip,vrcpp.zip - теперь работает
Спасибо!
Объясните, а что это за
Цитата:
выдаёт
Цитата:
Собственно, решил скачать обновление потому, что у меня последняя версия почему-то размер загруженной части файла пишет, используя вместо точки букву "a"... Старые версии тек себя не вели. Неприятная особенность выделена:
Цитата:
Можно это как-то исправить?
Цитата:
trunk Binary Build? На запрос wget --version
выдаёт
Цитата:
GNU Wget 1.10+devel.
Собственно, решил скачать обновление потому, что у меня последняя версия почему-то размер загруженной части файла пишет, используя вместо точки букву "a"... Старые версии тек себя не вели. Неприятная особенность выделена:
Цитата:
D:\DESKTOP\wget-1.10.2b>wget http://www.ias.ac.in/jarch/proca/4/00000139.pdf
--11:27:57-- http://www.ias.ac.in/jarch/proca/4/00000139.pdf
=> `00000139.pdf'
Resolving www.ias.ac.in... 203.197.183.66
Connecting to www.ias.ac.in|203.197.183.66|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 168а580 (165K) [application/pdf]
25% [========> ] 42а288 2.34K/s ETA 00:53
Можно это как-то исправить?
Страницы: 12345678910111213141516
Предыдущая тема: Windows XP FAQ = обновлен 19 мая =
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.