Просто если путь выкидывать и оставлять только wget, то из ХРОНа не работает... Вот...
/usr/bin/wget точно в usr![]()
Просто если путь выкидывать и оставлять только wget, то из ХРОНа не работает... Вот...
Last edited by YAG; 03-05-2008 at 14:41.
Катящиеся камни не обрастают мхом...
YAG
Спасибо большое за проделанную работу! Сам раньше использовал скрипт на PHP выложенный в начале темы уважаемым Mamon. Только немного доработал его, сделав перебор паролей по списку. То есть в отдельный файлик можно было накидать сразу штук двадцать логинов и паролей, и как только текущий логин/пароль блокировались, то они удалялись из списка и брались следующие. Как только весь список пустел, то на мой почтовый адрес высылалось письмо с напоминанием пополнить список паролей. К сожалению данный скрипт перестал работать с третьей версией антивируса. Можно ли здесь сделать что-то подобное в вашем скрипте?
Непонятны еще несколько моментов:
1. Зачем, если логин и пароль неверны, обходить все сервера Eset?
2. Расскоментировал обе строчки, чтобы зеркала создавались для второй и третьей версии, но создается только для 3 и самих файлов обновлений в папке нет, только log.txt и update.ver. Соответственно обновления не происходит. Что не так?
3. И ошибка ли вот это?
Code:update.rar is not RAR archive No files to extract
Именно это дальше и собирался реализовывать.
1. Учту. Не думал еще об этом.Originally Posted by Protei
2. Немного не точно написал я там. Раскоментировать нужно что-то одно. Если нужны оба зеркала, то кладем в ХРОН два файла (в каждом раскоментировано что-то одно). Скрипт последний мой ставили? Первый вариант не качал в указанную папку, а раскладывал все как на официальных серверах, т.е. в корневой папке домена папка download и дальше.
3. Это не ошибка. Так получаецца из-за того что update.rar может быть в архиве или нет. Просто я вначале разархивирую, а потом проверяю. Переделаю в дальнейшем, чтоб глаза не мозолило. :-)
Катящиеся камни не обрастают мхом...
Скрипт брал последний выложенный на этой странце. Закомментировал строчку, чтобы создавалось зеркало только для третьей версии, все-равно не хочет создавать. Выдает только:
Удалил все из папки nod3 и заново запустил скрипт. Вот теперь нормально обновилось. То есть, возможно, есть баг в случае, когда первый раз обновление не происходит из-за того, что ключ неверный, а после этого уже и с правильным не обновляет, пока не удалишь старый update.ver.Code:--2008-05-03 17:36:19-- http://update.eset.com/eset_upd/update.ver Resolving update.eset.com... 89.202.157.138 Connecting to update.eset.com|89.202.157.138|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 993 [application/octet-stream] Saving to: `update.ver' 100%[=====================================================================================================================>] 993 --.-K/s in 0s 2008-05-03 17:36:19 (2.57 MB/s) - `update.ver' saved [993/993] UNRAR 3.60 freeware Copyright (c) 1993-2006 Alexander Roshal update.rar is not RAR archive No files to extract
началась рабочая неделякак идеи с продолжением скрипта ?
Идей много. Занимацца некогда. Борюсь с провайдером. Пытаюсь писать диссер, который тоже уже поджимает. И еще вот занялся шейпером, потому что хочецца и качалку иметь на роутере и радио с телевизором слушать в локалке через инет и звонить через СИП, а тут на форуме мысли хорошие пошли по этой тематике. :-) А если по теме, то пока тестил скрипт. Устранил часть ошибок о которых тут говорили. Но сейчас выявил один серьезный недостаток и одну серьезную ошибку, которая может привести к неработоспособности закачанных обновлений. В ближайшее время поправлю. Выложу.
Катящиеся камни не обрастают мхом...
Может на выходных встретимся обсудим![]()
гденить в центре
только не дисер ... у меня и так голова болит![]()
Подработал о чем говорилось кроме перебора ключей и исправил несколько серьезных глюков. Тестим.
Code:#!/bin/sh WEB_ROOT=/opt/share/www #путь к корневой папке домена, где будет лежать зеркало AVBASE_DIR=nod3 #имя папки, куда будут валиться базы SERVER=http://update.eset.com #сервер, откуда обновляемся ####################################################################### # Раскоментировать что-либо одно!!!!! # #DIR=nod_upd #Раскоментировать если нужно зеркало для версии 2 DIR=eset_upd #Раскоментировать если нужно зеркало для версии 3 или ESS ####################################################################### USER=EAV-******** PASS=********** cd $WEB_ROOT mkdir -p $WEB_ROOT/$AVBASE_DIR /opt/bin/wget -N --cache=off -t 5 --connect-timeout=20 $SERVER/$DIR/update.ver mv -f update.ver update.rar /opt/bin/unrar x -y -inul update.rar if [ ! -f "update.ver" ]; then mv -f update.rar update.ver fi SERVERS=$SERVER" "`grep Other= $WEB_ROOT/update.ver|sed s/Other=//|tr -d "\r"|sed s/,/'\n'/g|sed s/^.*@//|sed s/$DIR//|sed s/'\n'/' '/|sed 1d` rm -f $WEB_ROOT/update.ver rm -f $WEB_ROOT/update.rar rm -f $WEB_ROOT/$AVBASE_DIR/log.txt for UPDSERVERS in $SERVERS; do cp -f -p $WEB_ROOT/$AVBASE_DIR/update.ver $WEB_ROOT/update.old /opt/bin/wget -a log.txt -N --cache=off -t 5 --connect-timeout=20 $UPDSERVERS/$DIR/update.ver if [ "update.ver" -nt "update.old" ]; then mv -f update.ver update.rar /opt/bin/unrar x -y -inul update.rar if [ ! -f "update.ver" ]; then cp -f -p update.rar update.ver fi IFS=[ for section in `cat update.ver|sed '1s/\[//;s/^ *//'|grep -v '^#'|grep -v '^$'`; do ############################################################################ # ЗАКОМЕНТИРОВАТЬ здесь НУЖНЫЕ языки # sect=$(echo $section|sed 's/^.*_CZECH_.*]/DELETE]/') # Чешский # sect=$(echo $sect|sed 's/^.*_ENGLISH_.*]/DELETE]/') # Английский sect=$(echo $sect|sed 's/^.*_FRENCH_.*]/DELETE]/') # Французкий sect=$(echo $sect|sed 's/^.*_GERMAN_.*]/DELETE]/') # Немецкий sect=$(echo $sect|sed 's/^.*_ITALIAN_.*]/DELETE]/') # Итальянский sect=$(echo $sect|sed 's/^.*_JAPANESE_.*]/DELETE]/') # Японский sect=$(echo $sect|sed 's/^.*_POLISH_.*]/DELETE]/') # Польский sect=$(echo $sect|sed 's/^.*_PORTUGUESE_.*]/DELETE]/') # Португальский sect=$(echo $sect|sed 's/^.*_SLOVAK_.*]/DELETE]/') # Словацкий sect=$(echo $sect|sed 's/^.*_SPANISH_.*]/DELETE]/') # Испанский sect=$(echo $sect|sed 's/^.*_CROATIAN_.*]/DELETE]/') # Хорватский sect=$(echo $sect|sed 's/^.*_HUNGARIAN_.*]/DELETE]/') # Венгерский sect=$(echo $sect|sed 's/^.*_CHINESE_.*]/DELETE]/') # Китайский sect=$(echo $sect|sed 's/^.*_DUTCH_.*]/DELETE]/') # Датский ################################################################################################################## # Файлы обновлений для уменьшения трафика # # ЗАКОМЕНТИРОВАТЬ если ЗАГРУЖАТЬ # # sect=$(echo $sect|sed 's/^CONTINUOUS_.*]/DELETE]/;s/^REVERSE_.*]/DELETE]/;s/^PRELIMINARY_.*]/DELETE]/') # ################################################################################################################## sect=$(echo $sect|sed 's/^VER]/DELETE]/;s/^HOSTS]/DELETE]/;s/^Expire]/DELETE]/;s/^SETUP]/DELETE]/;s/^COMPATLIST]/DELETE]/;s/^data0001]/DELETE]/') if [ -z $(echo $sect|grep '^DELETE]') ]; then eval $(echo $sect|tr -d "\r"|grep 'file='|sed 's/ *=/=/;s/= */=/') mv -f $WEB_ROOT/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt cd $WEB_ROOT/$AVBASE_DIR /opt/bin/wget -a log.txt -N --cache=off -t 5 --connect-timeout=20 --http-user=$USER --password=$PASS $UPDSERVERS/$file cd $WEB_ROOT mv -f $WEB_ROOT/$AVBASE_DIR/log.txt $WEB_ROOT/log.txt Auth=`grep 'Authorization failed' log.txt` if [ ${#Auth} != 0 ]; then echo Неверные ключики rm -f log.txt echo Неверные ключики > log.txt rm -f update.rar rm -f update.old rm -f update.ver mv -f $WEB_ROOT/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt exit fi Saved=`grep '$file.* saved' log.txt` if [ ${#Saved} != 0 ]; then echo Ошибка загрузки файла rm -f log.txt echo Ошибка загрузки файла > log.txt rm -f update.rar rm -f update.old rm -f update.ver exit fi echo [$(echo $sect|sed 's/file=.*\//file=/') >> $WEB_ROOT/$AVBASE_DIR/update.new fi done IFS=' ' cd $WEB_ROOT/$AVBASE_DIR if [ -f "update.new" ]; then rm -f update.ver mv -f update.new update.ver touch -am -r $WEB_ROOT/update.rar $WEB_ROOT/$AVBASE_DIR/update.ver fi fi cd $WEB_ROOT rm -f update.rar rm -f update.old rm -f update.ver done mv -f $WEB_ROOT/log.txt $WEB_ROOT/$AVBASE_DIR/log.txt
Last edited by YAG; 07-05-2008 at 12:17.
Катящиеся камни не обрастают мхом...
YAG
Большое спасибо за скрипт!
А можно ли еще сделать инкрементное копирование с сервера Eset, чтобы не скачивать каждый раз заново файлы, которые уже есть?
Э-э-э... Что-то долго он пробегает - 4 минуты. У меня все файлики с нуля столько же качаются. Еще как-то странно стал лог писаться, что бы не делалось пишет: "Неверные ключики". Хотя файлики качает.
Долго занимает подключение к серверам... Особенно к u21... Я его уже выкинул даже. Он совсем тормознутый у них... Можно конечно выкинуть оббегание всех серверов, но что-то у меня уверенности нет что ЕСЕТ в ближайшее время опять что-нить не выкинет как с основными серверами 22 апреля. Думаю 4 минуты не большое время. Насчет неверных ключиков... Незнаю что сказать даже... Сколько тестил неверные ключики писал только на неверные... Попробуйте убедиться что они действительно верные.
Катящиеся камни не обрастают мхом...