Утилита mgrctl предназначена для выполнения операций с панелью управления и вызова её функций из командной строки. По умолчанию она расположена в /usr/local/mgr5/sbin/mgrctl.

Синтаксис


/usr/local/mgr5/sbin/mgrctl [-m <manager>] [-u | -i [lang=<language>] | -l | [[-o <output format>] [-R | <funcname> [[<param>=<value>] ...]] [[-e <param>=$<ENV_NAME>] ...]]]
BASH
  • -m <manager> — определяет, к какой панели управления относится команда. После ключа укажите сокращённое название панели управления:
    • core — COREmanager;
    • billmgr — BILLmanager;

    • vmmgr — VMmanager KVM или Cloud;

    • vemgr — VMmanager OVZ;

    • dcimgr — DCImanager;

    • dcimini — локация DCImanager;
    • ipmgr — IPmanager;

    • dnsmgr — DNSmanager.

  • -i — краткая информация обо всех возможных функциях панели управления. Если указана функция <funcname>, то будет отображена краткая информация обо всех параметрах этой функции. Если указан параметр lang, то информация будет отображена на выбранном языке <language>. Доступные значения: ru, en. По умолчанию — ru.
  • -o <output format> — формат вывода информации. Доступные значения: text, xml, devel, json. По умолчанию — text.
  • -l — приостановить работу панели управления. Панель управления останавливается вызовом функции exit. Блокируется возможность её повторного запуска.

Обратите внимание!

Если приостанавливается работа COREmanager, то приостанавливается работа всех панелей управления на сервере. После возобновления работы COREmanager будет возобновлена работа остальных панелей управления на сервере.

  • -u — возобновить работу панели управления, приостановленной при помощи ключа -l.

Обратите внимание!

В случае если:

  1. Командой mgrctl -m <manager> -l поочерёдно приостановлена работа нескольких панелей управления на сервере, включая COREmanager.
  2. Командой mgrctl -m core -u возобновляется работа COREmanager.

Работа остальных панелей управления не будет возобновлена.

  • -R — перезапустить панель управления перед выполнением функции.
    • <funcname> — имя функции.
    • <param>=<value> — параметр функции и его значение.
  • -e <param>=$<ENV_NAME>  — параметры, передаваемые через переменные окружения

Передача параметров через переменные окружения


Обратите внимание!

Функция доступна в версии COREmanager 5.325 и выше.

Чтобы передать секретные данные в параметрах mrgctl, вы можете использовать переменные окружения. Для этого запустите утилиту с параметром:

 -e <param>=$<ENV_NAME>
BASH

<param> — имя параметра

<ENV_NAME> — имя переменной окружения

Обратите внимание!

Укажите перед именем переменной знак $ и экранируйте аргумент <param>=$<ENV_NAME>.

Пример передачи пароля

  1. Задайте значение пароля в переменной окружения SECRET_PASSWORD: 

    export SECRET_PASSWORD=secret
    BASH


  2. Создайте в BILLmanager пользователя для FTP: 

    /usr/local/mgr5/sbin/mgrctl -m billmgr ftp.user.edit name=ftpuser home=/ owner=www-root -e 'passwd=$SECRET_PASSWORD' sok=ok
    BASH

Примеры использования


Общие примеры

Завершение работы панели управления

/usr/local/mgr5/sbin/mgrctl -m <manager> exit
BASH

Список всех доступных функций mgrctl для панели управления

/usr/local/mgr5/sbin/mgrctl -m <manager> -i
BASH

Список параметров определённой функции панели управления

/usr/local/mgr5/sbin/mgrctl -m <manager> -i funcname lang=ru
BASH

Примеры для BILLmanager

Отключить тарифный план

/usr/local/mgr5/sbin/mgrctl -m billmgr pricelist.suspend elid=<id>
BASH

<id> — идентификатор тарифа

Примеры для VMmanager KVM или Cloud

Остановить виртуальные машины

/usr/local/mgr5/sbin/mgrctl -m vmmgr vm.stop elid=<id1>,<id2>
BASH
<id1>, <id2> — идентификаторы виртуальных машин

Остановить все виртуальные машины

for i in $(/usr/local/mgr5/sbin/mgrctl -m vmmgr vm | awk '{print $1}' | awk -F= '{print $2}'); do /usr/local/mgr5/sbin/mgrctl -m vmmgr vm.stop elid=$i; done
BASH

Получить названия всех запущенных виртуальных машин

/usr/local/mgr5/sbin/mgrctl -m vmmgr vm | grep running | awk '{print $2}' | awk -F= '{print $2}'
BASH

Примеры для VMmanager OVZ

Перезапустить контейнер

/usr/local/mgr5/sbin/mgrctl -m vemgr vm.restart elid=<id>
BASH

<id> — идентификатор виртуальной машины

Получить список всех доступных шаблонов операционных систем

/usr/local/mgr5/sbin/mgrctl -m vemgr osmgr | sed 's/=/ /g' | awk '{print $4}'
BASH

Установить/обновить все доступные шаблоны операционных систем

for i in $(/usr/local/mgr5/sbin/mgrctl -m vemgr osmgr | sed 's/=/ /g' | awk '{print $2}'); do /usr/local/mgr5/sbin/mgrctl -m vemgr osmgr.install elid=$i sok=ok; done
BASH

Примеры для DCImanager

Получить наименования всех серверов в стойке

/usr/local/mgr5/sbin/mgrctl -m dcimgr server su=<admin> | grep '<rack>' | awk '{print $2}' | awk -F= '{print $2}'
BASH

<admin> — имя администратора в DCImanager.

<rack> — имя стойки.

Cоздать администратора панели управления

/usr/local/mgr5/sbin/mgrctl -m dcimgr user.edit name=<admin> level=lvAdmin passwd=<pass> confirm=<pass> sok=ok
BASH

<admin> — имя администратора

<pass> — пароль администратора

Примеры для IPmanager

Получить статистику по выданным IP-адресам

/usr/local/mgr5/sbin/mgrctl -m ipmgr permstat
BASH

Примеры для DNSmanager

Обновить данные домена на ведомых серверах

/usr/local/mgr5/sbin/mgrctl -m dnsmgr domain.refresh elid=<domain>
BASH

<domain> — доменное имя.

Обновить данные всех доменов пользователя

for i in $(/usr/local/mgr5/sbin/mgrctl -m dnsmgr domain su=<user> | awk '{print $4}' | awk -F= '{print $2}'); do /usr/local/mgr5/sbin/mgrctl -m dnsmgr domain.refresh elid=$i; done
BASH

<user> — имя Пользователя DNSmanager