Да можно в принципе и симлинк. Просто вижу, автор скрипта человек основательный, все с собой таскает (спасибо что не весь perl

Модератор: terminus
эт я тя прошуAndy2k писал(а):гы, ты меня опередил - только что хотел скромно попросить именно об этом
Код: Выделить всё
[f0s@mail] /root/bin/> cat nod32.sh
#!/bin/sh
DMASTER="/usr/local/bin/wget"
DMLOG="updatever.log"
TMPFILE="filelist.upd"
#Фраза по которой определяем что файл не изменен
#PHRASE="Файл на сервере не новее локального файла"
PHRASE="Server file no newer than local file"
BASEDIR_V2="/home/artpaint/www/data/nod32.artpaint"
BASEDIR_V3="/home/artpaint/www/data/nod32.artpaint/v3"
HOSTUP_V2="http://nod32.i-files.org/v2/"
HOSTUP_V3="http://nod32.i-files.org/v3/"
VARDIR_V2="/home/artpaint/www/data/nod32.artpaint/tmp/v2"
VARDIR_V3="/home/artpaint/www/data/nod32.artpaint/tmp/v3"
#$1 - VARDIR
#$2 - HOSTUP
#$3 - BASEDIR
dUpdateVer(){
cd $1
#?? ?є?? ?? ї???ЮХ?ґ?? ? ?Ю? АБ?ЮБ? ?Б?ё? ґ? є??іґ? ?КБЛ.
if [ -s $TMPFILE ]; then
rm $TMPFILE
fi
if [ -s filelist.rm ]; then
rm filelist.rm
fi
if [ -s updatever.new ]; then
rm updatever.new
fi
if [ -s user_update.ver ]; then
rm user_update.ver
fi
$DMASTER -nd -m -o $DMLOG ${2}update.ver
if [ -z `fgrep "$PHRASE" $DMLOG | sed -n '$='` ]; then
cat -t update.ver | sed s/'\^M'// >updatever.new
analyse $2 $3
else
echo "Files up to date"
fi
}
analyse(){
if [ -s updatever.tmp ]; then
POINTER=`grep -n '\[' updatever.new | grep -o '^[0-9]*'`
NUM_OF_STRING_P=`echo "$POINTER"|sed -n '$='`
NUM_OF_STRING_U=`sed -n '$=' updatever.new`
CURRENT_STRING="1"
while [ $CURRENT_STRING -le $NUM_OF_STRING_P ]; do
bCHAPTER=`echo "$POINTER"|sed -n $CURRENT_STRING'p'`
if [ $CURRENT_STRING -eq $NUM_OF_STRING_P ]; then
eCHAPTER=$NUM_OF_STRING_U
else
NEXTSTR=`expr $CURRENT_STRING + 1`
eCHAPTER=`echo "$POINTER"|sed -n $NEXTSTR'p'`
eCHAPTER=`expr $eCHAPTER - 1`
fi
CHAPTER=`sed "$bCHAPTER,$eCHAPTER!d" updatever.new`
cNAME=`echo "$CHAPTER"|sed -n 1p`
cDATE=`echo "$CHAPTER"|fgrep 'date='|sed s/'date='//g`
cSIZE=`echo "$CHAPTER"|fgrep 'size='|sed s/'size='//g`
cFILE=`echo "$CHAPTER"|fgrep 'file='|sed s/'file='//g`
CURRENT_STRING_T=`fgrep -n "$cNAME" updatever.tmp|grep -o '^[0-9]*'`
if [ $CURRENT_STRING ]; then
bCHAPTER_T=$CURRENT_STRING_T
CURRENT_STRING_T=`expr $CURRENT_STRING_T + 1`
while [ $CURRENT_STRING_T -le $NUM_OF_STRING_U ]; do
PICK=`sed -n $CURRENT_STRING_T'p' updatever.tmp|grep -o '\['`
if [ $CURRENT_STRING_T -eq $NUM_OF_STRING_U ]; then
eCHAPTER_T=$CURRENT_STRING_T
break
fi
if [ $PICK ]; then
if [ $PICK = '[' ]; then
eCHAPTER_T=`expr $CURRENT_STRING_T - 1`
break
fi
fi
CURRENT_STRING_T=`expr $CURRENT_STRING_T + 1`
done
CHAPTER_T=`sed "$bCHAPTER_T,$eCHAPTER_T!d" updatever.tmp`
cDATE_T=`echo "$CHAPTER_T"|fgrep 'date='|sed s/'date='//g`
cSIZE_T=`echo "$CHAPTER_T"|fgrep 'size='|sed s/'size='//g`
cFILE_T=`echo "$CHAPTER_T"|fgrep 'file='|sed s/'file='//g`
else
# "New CHAPTER"
echo "$cFILE" >>$TMPFILE
fi
if [ $cDATE != $cDATE_T ]; then
echo "$cFILE" >>$TMPFILE
echo "$cFILE_T" >>filelist.rm
echo "$CHAPTER" >>user_update.ver
elif [ $cSIZE != $cSIZE_T ]; then
echo "$cFILE" >>$TMPFILE
echo "$cFILE_T" >>filelist.rm
echo "$CHAPTER" >>user_update.ver
else
echo "$CHAPTER_T" >>user_update.ver
fi
CURRENT_STRING=`expr $CURRENT_STRING + 1`
done
if [ -s $TMPFILE ]; then
dUpdateFl $1 $2
else
echo "Files not changed"
fi
else
fgrep "file=" updatever.new | sed -e s/'file='//g > $TMPFILE
dUpdateFl $1 $2
fi
}
dUpdateFl(){
echo "Update Downloading..."
$DMASTER -np -N -nH -B $1 -i $TMPFILE
if [ -s filelist.rm ]; then
NUM_OF_STRING=`sed -n '$=' filelist.rm`
CURRENT_STRING="1"
while [ $CURRENT_STRING -le $NUM_OF_STRING ]; do
STRING=`sed -n $CURRENT_STRING'p' filelist.rm`
rm $2/$STRING
CURRENT_STRING=`expr $CURRENT_STRING + 1`
done
rm filelist.rm
else
rm $2/*.nup
fi
NUM_OF_STRING=`sed -n '$=' $TMPFILE`
CURRENT_STRING="1"
while [ $CURRENT_STRING -le $NUM_OF_STRING ]; do
STRING=`sed -n $CURRENT_STRING'p' $TMPFILE`
mv $STRING $2
CURRENT_STRING=`expr $CURRENT_STRING + 1`
done
if [ -s user_update.ver ]; then
cp user_update.ver updatever.tmp
mv user_update.ver $2/update.ver
else
cp updatever.new updatever.tmp
cp update.ver $2/update.ver
fi
rm $TMPFILE
rm updatever.new
}
dUpdateVer $VARDIR_V2 $HOSTUP_V2 $BASEDIR_V2
dUpdateVer $VARDIR_V3 $HOSTUP_V3 $BASEDIR_V3
exit 0
Конторра настолько нищая что не может себе позволить за 1500рэ купить 1 (одну) лицензию и обновляться, ОБНОВЛЯТЬСЯ, О-Б-Н-О-В-Л-Я-Т-Ь-С-Я????Andy2k писал(а):...надо опять лезть в скрипты и править, править, править.... Д-О-С-Т-А-Л-О!!!!!!!!!
угу.f0s писал(а):а кто пользуется nod32.i-files.org? что-то обновляться с него перестало.
Причина вступления ограничений в использовании зеркала!
На сегодняшний день зеркало не спонсируется но забирает большие ресурсы сервере, это происходить из-за быстрого распространения пути обновления за пределами нашего проекта, что в свою очередь производить к больным финансовым убыткам. Вот причина введения ограничений доступа к зеркалу.
ну иСегодня (29/07/2008) в 14:00 по Киевскому времени были изменены пути обновления!
Условия использование:
1. Что-бы получить пути к обновлению нужно иметь на форуме 30 полезных сообщений. (Вариант 1)
2. Что-бы получить пути обновления нужно отправить платное СМС сообщение стоимостю 6 гривен, включая НДС. Точную стоимость узнавайте у вашего оператора. (Вариант 2) отправить смс (после отправки смс сообщения свяжитесь с администратором через ЛС указав номер моб. с которого была отправлена СМС)
3. Категорически запрещено распространят путь обновления на других сайтах всего интернет сообщества.
Любое нарушение условия и флуд приводить к полной блокировки пользователя!!!
Сам с них ушел давно, обновления тянутся не с задержкой 5 минут от официальных, а с большей.Внимание! с 2008/08/01 доступ к зеркалу ограничен...
угу. там лагин/пороль. как логиниться туда?f0s писал(а):народ, откуда теперь-то тянуть?
есть сервер с руборда от смерти.. но неясно как под него скрипт подправить
Код: Выделить всё
sub check_files_ver {
.
.
.
if (($updver{$filename}{version}) > ($updver_old{$filename}{version})
or !(-e $bases_path.$updver{$filename}{file}) or ($localfilesize != $serverfilesize
&& $updver{$filename}{version} > $updver_old{$filename}{version}))
. ^^
.
.
Код: Выделить всё
.
.
.
if (($updver{$filename}{version}) > ($updver_old{$filename}{version})
or !(-e $bases_path.$updver{$filename}{file}) or ($localfilesize != $serverfilesize)
or ($updver{$filename}{version} > $updver_old{$filename}{version}))
. ^^
.
.