Страница 1 из 2

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

СообщениеДобавлено: 12 окт 2004, 13:10
Vladimir Red'kin
Ситуация:
Настраиваю резервное копирование 'на лету' :)
На сервере крутится несколько баз под Pervasiv'ом 2000i в формате *.MKD
Начитался про утилиту BUTIL - из пакета Pervasiv
Нарисовал командный файл 1.NCF такого плана:
-----
butil -STARTBU @SYS:\BACKUP\list /s
load nwzip sbis_db_mkd
butil -ENDBU @SYS:\BACKUP\list /s
load nwzip sbis_db_all
-----
Каждая строчка по отдельности (ну если руками с консоли запускать) отрабатывает на ура.

Но, если запускаю командный файл , то такое ощющение, что команды не дожыдаются друг друга :(
Т.е. первая строка отработала быстро, вторая начинает .
Но во время её работы начинает выполнятся 3-я и 4-я .
В итоге все плохо.

Перерыл форум, но ничего по теме не нашел.

Подскажите пожалуйста куда думать :)
Заранее спасибо.

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

СообщениеДобавлено: 12 окт 2004, 13:22
Сергей ака godless
VladimirRed писал(а):Ситуация:
Настраиваю резервное копирование 'на лету' :)
На сервере крутится несколько баз под Pervasiv'ом 2000i в формате *.MKD
Начитался про утилиту BUTIL - из пакета Pervasiv
Нарисовал командный файл 1.NCF такого плана:
-----
butil -STARTBU @SYS:\BACKUP\list /s
load nwzip sbis_db_mkd
butil -ENDBU @SYS:\BACKUP\list /s
load nwzip sbis_db_all
-----
Каждая строчка по отдельности (ну если руками с консоли запускать) отрабатывает на ура.

Но, если запускаю командный файл , то такое ощющение, что команды не дожыдаются друг друга :(
Т.е. первая строка отработала быстро, вторая начинает .
Но во время её работы начинает выполнятся 3-я и 4-я .
В итоге все плохо.

Перерыл форум, но ничего по теме не нашел.

Подскажите пожалуйста куда думать :)
Заранее спасибо.


А ввести ещё строчку типа pause N между исполняемыми командами не пробовал ?? Где N - необходимое тебе время замирания перед выполнением следующей команды из батника ...

Пробовал

СообщениеДобавлено: 12 окт 2004, 13:33
Vladimir Red'kin
все равно ждет подтверждения руками :(

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

СообщениеДобавлено: 12 окт 2004, 14:03
Андрей Фисенко
VladimirRed писал(а):-----
butil -STARTBU @SYS:\BACKUP\list /s
load nwzip sbis_db_mkd
butil -ENDBU @SYS:\BACKUP\list /s
load nwzip sbis_db_all
-----


Попробуй так.

?butil -STARTBU @SYS:\BACKUP\list /s
?load nwzip sbis_db_mkd
?butil -ENDBU @SYS:\BACKUP\list /s
?load nwzip sbis_db_all

все равно что-то не так

СообщениеДобавлено: 12 окт 2004, 14:26
Vladimir Red'kin
с первазивом (butil) сейчас не могу попробовать
Попробовал такой файл запустить:
---
?run copy SB1\db\*.mkd BACKUP\1\
?run copy SB1\DB2\*.mkd BACKUP\2\
---
ждет, но всего секунд 5, а потом тоже вторую строчку запускает :(

Все верно.

СообщениеДобавлено: 12 окт 2004, 16:18
skoltogyan
Все верно.
У NetWare это не shell , а launcher (запускатель) .
Т.е. он запускает ВСЕ, что есть к запуску в NCF.

Т.е Вам нужно чем-то сторонним делать проверку вида:
while NEEDMODULE Loaded
wait 10
do
(пока , например NWZIP.NLM , загружен - ждать и ничего дополнительно не запускать)

Как тоьько модуль перестанет быть загруженным - запускать следующую строку.

Это можно сделать, например, при помощи
1. PERL+UCS (самому написать проверялку и запускалку по условию)
2. taskmstr (www.avanti-tech.com). платная. крека и самой утилиты нет у меня
3. Незнаю, есть-ли нижеописанная возможность в Nw5.1SP7 , но в NW6.5 есть такое:
http://www.novell.com/documentation/nw65/index.html
.....
%if !loaded portal then cmd unload portal
%if loaded nlmName&nlmName then env iamalive=1
%if loaded !nlmName&nlmName then cmd busy.ncf
.....

Re: все равно что-то не так

СообщениеДобавлено: 12 окт 2004, 16:50
Андрей Фисенко
VladimirRed писал(а):ждет, но всего секунд 5, а потом тоже вторую строчку запускает :(

я понял.
вам поможет, к примеру, How to pause or delay loading an NLM from AUTOEXEC.NCF

попробуйте использовать DELAY.NLM

про delay и delaycmd

СообщениеДобавлено: 12 окт 2004, 17:43
skoltogyan
Эти NLM-ки позволяет задержать запуск (не освобождая или освобождая консоль).
Однако не позволяют запустить именно ПОСЛЕ ЗАВЕРШЕНИЯ ПРЕДЫДУЩЕГО.

Поменяйте в NWZIP.CFG

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

Re: Поменяйте в NWZIP.CFG

СообщениеДобавлено: 13 окт 2004, 11:51
Vladimir Red'kin
Boris Morozov писал(а):значение параметра NOSECURECONSOLE с 1 на 0
и будет вам счастье. У меня точно такая конфигурация года два в нескольких местах работает без всяких задержек. Спасибо Андрею Подойникову за предусмотрительность.


Я что-то не понял, причем здесь NWZIP?

Командный файл дальше не пойдет, пока

СообщениеДобавлено: 13 окт 2004, 19:03
Boris Morozov
NWZIP не отработает. Что в вашем конкретном случае собственно и надо.

СообщениеДобавлено: 13 окт 2004, 19:13
Музалёв Николай
Есть предположение, что получить соответствие в полной мере а-ля ДОС не получится, а потому предлагаю разанести ваши команды из командного файла в файл крона и организовать их запуск с разницей в N (секунд-минут-часов).

СообщениеДобавлено: 14 окт 2004, 12:11
Vladimir Red'kin
Музалёв Николай писал(а):Есть предположение, что получить соответствие в полной мере а-ля ДОС не получится, а потому предлагаю разанести ваши команды из командного файла в файл крона и организовать их запуск с разницей в N (секунд-минут-часов).


Я уже тоже начинаю склонятся к таким же действиям.
Хотя это конечно не совсем правильно/коректно.
А самому на Perl'e пока силёнок не хватает. :(

Напишите на Perl+UCS

СообщениеДобавлено: 14 окт 2004, 12:49
skoltogyan
Напишите на PERL+UCS, что-бы незапускало следующий, пока конкретный модуль загружен и работайте наздоровье.. А разнос по времени - всеравно глюкнет.. Это залипуха бдет.

Re: Напишите на Perl+UCS

СообщениеДобавлено: 14 окт 2004, 12:59
Vladimir Red'kin
skoltogyan писал(а):Напишите на PERL+UCS, что-бы незапускало следующий, пока конкретный модуль загружен и работайте наздоровье.. А разнос по времени - всеравно глюкнет.. Это залипуха бдет.

А что такое UCS? :oops: