vit2002
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору TNR нашел. файл upd.pl: #$URL_UPD_ESET=$URL_UPD."nod32/v3/"; #$URL_UPD_NOD=$URL_UPD."nod32/v2/"; #$login=""; #$pass=""; $login="********"; - это понятно $pass="********"; - это понятно $URL_UPD="http://89.202.157.227/"; #$URL_UPD="http://www.*******/"; сервер нода $URL_UPD_ESET=$URL_UPD."eset_upd/"; $URL_UPD_NOD=$URL_UPD."nod_upd/"; файл nod_upd.pl: #!/usr/bin/perl use LWP; require '/mnt/hdd80/upd.pl'; $URL_UPD=$URL_UPD_NOD; # path to store updates $PATH="/mnt/hdd80/nod_upd"; # username/password for updates registered users # URL for updates #$URL_UPD="http://update.eset.com/nod_upd/"; #$URL_UPD="http://um10.eset.com/nod_upd/"; $DATE=`date "+%Y %m %d %H %M"`; `echo "\n""\n""$DATE">> /mnt/hdd80/log/nod_upd.log `; $URL_UPD =~ s/\/$//; $URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/; $site = "$1$2"; if ($site =~ m//) { print "Enter correct URL\n"; return; } unlink("$PATH/update.ver","$PATH/update.tmp"); download($PATH, "$URL_UPD/update.ver", $login, $pass); `/usr/local/bin/unrar e -y $PATH/update.ver $PATH 2> /dev/null`; rename("$PATH/update.ver","$PATH/update.tmp"); $ver = "$PATH/update.tmp"; $vers = "$PATH/update.ver"; open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n"; open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n"; %files = (); %urls = (); while (defined($line = <VER>) ) { chomp $line; $line =~ s/^\s+//; $line =~ s/\s+$//; ($par,$val)=split /=/, $line; if ($par =~ /file/ ) { $name = $val; $name =~ s/\/.*\///; if ($name=~m/$val/) {$furl="$URL_UPD/$val";} else {$furl="$site$val";} $line="file=$name"; } if ($par =~ /size/ ) { $size = $val; $files{$name} = $size; $urls{$name} = "$furl"; } print VERS "$line\r\n"; } print "\n"; close(VER); close(VERS); foreach $f (keys %files) { if ( (-s ("$PATH/$f")) != $files{$f}) { download($PATH,$urls{$f},$login,$pass); } } sub download() { my ($path, $url, $login, $pass) = @_; $url =~ m/(.*:\/\/)(.*)\/(.*)/; my $filename = $3; my $ua=LWP::UserAgent->new(); $ua->agent("PerlUA/0.1"); my $req = HTTP::Request->new(HEAD => "$url"); $req->authorization_basic($login, $pass); my $document=$ua->request($req); if($document->is_success) { if (!($document->content_length== -s("$path/$filename"))) { my $req = HTTP::Request->new(GET => "$url"); $req->authorization_basic($login, $pass); my $document=$ua->request($req); if($document->is_success) { open(OUT, "> $path/$filename"); print OUT $document->content; close(OUT); print "Downloading $url "; print "- ok\n"; `echo "$url" "- ok">> /mnt/hdd80/log/nod_upd.log `; } else { print "$url ",$document->status_line,"\n"; } } else { # print "$filename - exist\n"; `echo "$filename" "- exist">> /mnt/hdd80/log/nod_upd.log `; } } else { print "$url ",$document->status_line,"\n"; } } `chmod 0666 $PATH/*`; Добавлено: TNR работало в течении года...для разной версии только пара парметров правишь и все...он качает разные версии.... не использую так как нет нужны везде лицензии стоят Добавлено: да чуть не забыл вот это *** надо поставить что бы скрипт завелся... pkg_add -r bzip2 pkg_add -r unrar pkg_add -r lwp pkg_add -r wget pkg_add -r p5-libwww pkg_add -r p5-MD5 pkg_add -r p5-LockFile-Simple pkg_add -r p5-Digest-SHA1 pkg_add -r gnupg заточен под фри....но думаю если руки приложишь то заработает и под линуксом | Всего записей: 351 | Зарегистр. 13-06-2008 | Отправлено: 13:16 03-10-2012 | Исправлено: vit2002, 10:59 08-12-2012 |
|