asbman - интерфейс bq.sh к утилите asbman для управления логин-брокерами

Версия: bq.sh ver. 4.6.1

Назначение

Выполнение OpenEdge утилиты asbman в среде, установленной запускающим скриптом.

Запуск, останов, получение статуса и управление заданным списком логин-брокеров (Application Servers, Webspeed Servers и Name Servers) с возможностью обращения к отдельным инстансам.

Автоматический запуск и останов заданного списка логин-брокеров при старте или останове брокера БД.

Синтаксис

bq41d asbman аргументы

В качестве аргументов используются любые параметры утилиты asbman, описанные в документации:

OpenEdge Application Server: Administration Command and Utility Reference: ASBMAN

Переменные окружения

BQAppServerNames - список логин-брокеров (разделителем может служить запятая, точка с запятой или пробел).

BQasbmanParams - дополнительные параметры вызова asbman

BQproadsvConnect - параметры подключения к proadsv

Использование

В данном функционале предусмотрены следующие режимы использования:

Ручной режим

Устанавливается, если в списке аргументов при помощи опции -name или -i задан конкретный инстанс или указаны справочные опции -help или -h, например:

  bq41d asbman -name foo -start
  bq41d asbman -i qbis -stop
  bq41d asbman -i NS1 -query
  bq41d asbman -help
  bq41d asbman -h

В этом режиме утилите asbman передаются все указанные аргументы без модификации. Режим предназначен для управления отдельными инстансами (любыми) в среде запускающего скрипта. Синтаксис и формат использования полностью совпадают с форматом утилиты asbman установленного релиза Progress OpenEdge. Местоположение релиза определяется переменной окружения DLC, задаваемой запускающим скриптом.

Во всех режимах команда asbman запускается с полномочиями текущего пользователя, выполняющего в данный момент скрипт bq.sh, то есть никакой смены полномочий не производится.

Режим "по списку"

Устанавливается в случае отсутствия в параметрах упомянутых выше опций. Режим предназначен для управления списком Application/Webspeed серверов. Список задается внешней переменной BQAppServerNames, которую целесообразно определять в запускающем скрипте, например:

  BQAppServerNames="one,two,three"		# list of AppServers
  export BQAppServerNames

Разделителями в списке могут являться символы запятая, точка с запятой или пробел. При вызове в режиме «по списку» указанные в команде аргументы применяются циклически для каждого элемента списка. То есть, например, команда:

  bq41d asbman -q

будет аналогична последовательным командам:

  bq41d asbman -name "one" -q
  bq41d asbman -name "two" -q
  bq41d asbman -name "three" -q

Примечание: в режиме «по списку» первый параметр для asbman можно указывать без лидирующего символа '-', например, следующие команды будут аналогичны:

  bq41d asbman -start
  bq41d asbman start

Это позволяет упростить интеграцию с другими скриптами.

Автоматический старт/останов

Если переменная BQAppServerNames определена и содержит список имен логин-брокеров, то:

  • При каждом успешном запуске брокера БД командой bq41d start будет происходить запуск всех указанных в списке логин-брокеров с помощью команды:
    bq41d asbman -start
  • После успешного останова брокера командой bq41d stop будет происходить останов всех указанных в списке логин-брокеров с помощью команды:
    bq41d asbman -kill

Возможность ручного управления в обоих режимах при этом полностью сохраняется.

Примечание: Если при интерактивном останове администратор отменит дальнейшее выполнение proshut и база останется открытой, то команда на останов логин-брокеров также не будет выполнена.

Условия

Данное описание применимо для версии скрипта bq.sh не ниже указанной в заголовке. Проверить версию bq.sh можно командой:

 bq41d --ver

Обновить bq.sh можно из: http://support.bis.ru/info «Текущая версия скрипта bq.sh»

Документация

Изменения по версиям

TT#0109685 - исходная заявка на разработку.

В версиях bq.sh, начиная с 4.6.1, действует вышеописанный порядок автоматического останова логин-брокеров.

В bq.sh версии до 4.6.0 (включительно) действовал другой порядок автоматического останова asbman. Ниже приведена цитата из описания старой версии:

Устарело:  Перед каждой попыткой останова брокера командой "bq41d stop" будет 
Устарело: происходить останов всех указанных списком App серверов командой
Устарело:     "bq41d asbman -kill"
Устарело:  
Устарело:     Примечание: если при интерактивном останове администратор отменит дальнейшее 
Устарело:     выполнение proshut, то, несмотря на то, что брокер БД останется запущенным,
Устарело:     App серверы к этому моменту будут уже завершены.