Командный файл под NW51 sp7

Обсуждение технических вопросов по продуктам Novell

ucs

Сообщение skoltogyan » 14 окт 2004, 13:07

это расширения для PERL позволяюющее обращаться к eDir, NetWare Server
Например можно посмотреть какие модули загружены, создавать объекты в дереве, поключаться к LDAP, доступ к атрибуат на диске...
примеры есть тут:
http://www.gknw.com/nwperl/perlucx
skoltogyan
 
Сообщения: 2037
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Музалёв Николай » 14 окт 2004, 13:48

а остальное
Код: Выделить всё
Universal Component System® (UCS) allows you to use objects of various object environments from scripting engines on the NetWare® platform. This means that Universal Component eXtensions (UCX), Java* classes, JavaBeans, and (remote) ActiveX* controls can be used with Novell Script for NetWare (NSN) or Perl 5.
- здесь
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3034
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Vladimir Red'kin » 14 окт 2004, 14:20

Музалёв Николай писал(а):а остальное
Код: Выделить всё
Universal Component System® (UCS) allows you to use objects of various object environments from scripting engines on the NetWare® platform. This means that Universal Component eXtensions (UCX), Java* classes, JavaBeans, and (remote) ActiveX* controls can be used with Novell Script for NetWare (NSN) or Perl 5.
- здесь


Ну что ж. По ссылкам попрыгал, почитал. Архивы Перла и UCS закачал. Буду пробовать эту связку.
Спасибо за помощь.
Хотя, наверное, вопросов будет ещё море
:wink:
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

вопросов у вас будет мало

Сообщение skoltogyan » 14 окт 2004, 16:54

1.там примеро прямо показывает кк увидеть СПИСОК загруженых NLM
2. вам останется только вставить проверку - есть-ли в списке , например
NWZIP.NLM

lделается это так:

$etalon="NWZIP.NLM";

......прямо в цикле из примера....
...этот цикл перелистывает список всех нынче загруженых
...............................
if ( $etalon eq $name ) {
такой моуль есть среди загруженых....
}
else {
нет такого модуля среди загруженых
}
..........................


запускать из perl так:
system("sys:/system/monitor.nlm");

удачи
skoltogyan
 
Сообщения: 2037
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Re: вопросов у вас будет мало

Сообщение Vladimir Red'kin » 14 окт 2004, 17:06

skoltogyan писал(а):1.там примеро прямо показывает кк увидеть СПИСОК загруженых NLM
2. вам останется только вставить проверку - есть-ли в списке , например
NWZIP.NLM

lделается это так:

$etalon="NWZIP.NLM";

......прямо в цикле из примера....
...этот цикл перелистывает список всех нынче загруженых
...............................
if ( $etalon eq $name ) {
такой моуль есть среди загруженых....
}
else {
нет такого модуля среди загруженых
}
..........................


запускать из perl так:
system("sys:/system/monitor.nlm");

удачи


Огромное спасибо. На неделе думаю буду пробовать.
(благо есть тестовый сервак ) :wink:
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

начал разбитаться:

Сообщение Vladimir Red'kin » 15 окт 2004, 14:40

установил java 1.3.1
установил perl 5.8
установит UCS (вроде версия 2.0)

а дальше как? :

надо ли как-то загружать UCS?

Пробую запустить PERL RANDOM.PL из примеров
пишет, что не может загрузить UCS2JAVA.NLM
пытаюсь руками загрузить UCS2JAVA.NLM - пишет, что сначала надо подгрузить JVM

гружу его из JAVA\BIN\

затем PERL RANDOM.PL
сервер слетает, перегружается :cry:

Какая последовательность действий должна быть?
Мне бы хотябы примеры из samples запустить.
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

надо так

Сообщение skoltogyan » 15 окт 2004, 16:17

1. java была лишним, но не трогайте - оставте
2. создайте файл:
sys:/perl/scripts/t.pl
содержанием:
#!perl
# Perl test script which uses UCX:SERVER component to list loaded NLMs.
# v0.01 21-Jul-2002 (c) G.Knauf, info@gknw.de
#

use Perl2UCS;
$server = Perl2UCS->new("UCX:Server") or die "UCX:Server";

$modules = $server->{'Modules'};
$modules->Reset();

while ($modules->HasMoreElements()) {
$id++;
$module = $modules->Next();
$name = $module->{'Name'};
printf "Module name=[ ".$name." ]\n";
}


и запустите его на выполненние так

perl sys:/perl/scripts/t.pl

по экрану должен пробежать список загруженных в данный момент NLM-ок
skoltogyan
 
Сообщения: 2037
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Ещё вопросик

Сообщение Vladimir Red'kin » 21 окт 2004, 10:28

Нарисовал файл tt.pl :
--------
#!perl
# Perl test script which uses UCX:SERVER component to list loaded NLMs.
# v0.01 13-Aug-2002 (c) G.Knauf, info@gknw.de
#
use Perl2UCS;
System("butil -STARTBU @SYS:\BACKUP\list");
sleep 2;
$nlm = "nwzip.nlm";
System("nwzip sbis_db_mkd");
$server = Perl2UCS->new("UCX:Server") or die "UCX:Server";
$mods = $server->{"Modules"};
$module = $mods->Element($nlm);
#$temp = $module->{"Loaded"};
# пока nwzip загружен ждем-с
while ($module->{"Loaded"})
{
sleep 2;
}
System("butil -ENDBU @SYS:\BACKUP\list /s");
sleep 2;
System("nwzip sbis_db_all");
-------
Запускаю perl tt.pl , а он мне :
Undefined subroutine &main::System called at tt.pl line 6.

Что ему в этой строке/System("butil -STARTBU @SYS:\BACKUP\list");/
не нравится?
Если заремить все строки , где System(), то работает.
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

Сообщение skoltogyan » 21 окт 2004, 11:06

sys:\system\perl\scripts\t.pl содержания такого(две строки):

system("load monitor");
exit(0);

Запускаете так прямо с консоли сервера:

perl sys:\system\perl\scripts\t.pl

должен запустится MONITOR.NLM


Получилось ?
skoltogyan
 
Сообщения: 2037
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Vladimir Red'kin » 21 окт 2004, 11:43

skoltogyan писал(а):sys:\system\perl\scripts\t.pl содержания такого(две строки):

system("load monitor");
exit(0);

Запускаете так прямо с консоли сервера:

perl sys:\system\perl\scripts\t.pl

должен запустится MONITOR.NLM


Получилось ?


Оказывается к регистру шибко чувствителен:
System != system

вроде заработало
смотрю дальше
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

Сообщение Vladimir Red'kin » 26 окт 2004, 16:32

Boris Morozov писал(а):значение параметра NOSECURECONSOLE с 1 на 0
и будет вам счастье. У меня точно такая конфигурация года два в нескольких местах работает без всяких задержек. Спасибо Андрею Подойникову за предусмотрительность.


Действительно, так горазда проще получилось :)

Единственно: без Java 1.3.1 похоже BUTIL почему-то не хочет работать.
Но это уже другая история :D


Всем Большое Спасибо!
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

Дело хозяйское :)

Сообщение skoltogyan » 26 окт 2004, 18:02

Вот Вам пример, может понадобиться
Cинтаксис макисмально упрощен.

# Проверяет - есть-ли такой SCREEN
# GroupWise WebAccess Agent
# т.е. то, что видно по Ctrl-Esc на консоле сервера
# Если нет такого Screen - запускает
# protect srtweb
#- ниже собственно текст

#!sys:/perl\lib

$etalon="GroupWise WebAccess Agent";
$sw=0;

use Perl2UCS;
$server = Perl2UCS->new("UCX:Server") or die "UCX:Server";

$screens = $server->{'Screens'};
$screens->Reset();

while ($screens->HasMoreElements()) {
$screen = $screens->Next();
$name = $screen->{'Name'};
if ($name eq $etalon) {
$sw=1;
$break; };
}
if ($sw == 0) {
system("protect strtweb")
};
exit(0);

Запускаеть при помощи:
chkgwweb.ncf с содержанием:
perl sys:/perl/scripts/chkgwweb.pl --noscreen --autodestroy

Добавив сюда свои SLEEP(), можете дорастить его до Ваших Нужд.
Собственно можно проверять не наличиее SCREEN, а загружен-ли модуль. И запускать по мере надобности Ваши NLM-ки.

Удачи.
skoltogyan
 
Сообщения: 2037
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Не улавливаю связи между Butil и Java

Сообщение Boris Morozov » 26 окт 2004, 22:17

Как же он у меня к примеру на 4.11 работает?
Boris Morozov
 
Сообщения: 1333
Зарегистрирован: 05 июн 2002, 22:24
Откуда: Минск

Re: Не улавливаю связи между Butil и Java

Сообщение Vladimir Red'kin » 27 окт 2004, 08:54

Boris Morozov писал(а):Как же он у меня к примеру на 4.11 работает?


Ну я с нуля поставил 5.1, потом SP7(там Java 1.2.x)
PERL,UCS,Pervasive 2000i sp2a

пробовол BUTIL - с ошибками вываливался (ругался на файл , где перечислены файлы)

установил Java 1.3.1 - и у меня заработало.
Вроде больше ничего не менял :roll:
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

Re: Дело хозяйское :)

Сообщение Vladimir Red'kin » 27 окт 2004, 09:00

skoltogyan писал(а):Вот Вам пример, может понадобиться
...
Удачи.


Спасибо!
Vladimir Red'kin
 
Сообщения: 25
Зарегистрирован: 12 окт 2004, 12:54

Пред.

Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

cron