Документация COREmanager
Режим фокусировки

Утилита mgrctl

Утилита 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>] ...]]]

Где:

  • -m — определяет, к какой панели управления относится команда. После ключа укажите сокращённое название панели управления:
    • core — COREmanager;
    • billmgr — BILLmanager;
    • vmmgr — VMmanager KVM или Cloud;
    • vemgr — VMmanager OVZ;
    • dcimgr — DCImanager 5;
    • dcimini — локация DCImanager 5;
    • ipmgr — IPmanager;
    • dnsmgr — DNSmanager;
  • -i — краткая информация обо всех возможных функциях панели управления. Если указана функция <funcname>, то будет отображена краткая информация обо всех параметрах этой функции. Если указан параметр lang, то информация будет отображена на выбранном языке <language>. Доступные значения: ru, en. По умолчанию — ru;
  • -o — формат вывода информации. Доступные значения: text, xml, devel, json. По умолчанию — text;
  • -l — приостановить работу панели управления. панель управления останавливается вызовом функции exit. Повторный запуск панели управления блокируется;
  • -u — возобновить работу панели управления, приостановленной с помощью ключа -l;
    Если приостанавливается работа COREmanager, то приостанавливается работа всех панелей управления на сервере. После возобновления работы COREmanager будет возобновлена работа остальных панелей управления на сервере. Однако, если приостановить и COREmanager, и панели управления, то после возобновления работы COREmanager работа панелей управления не возобновится.
  • -R — перезапустить панель управления перед выполнением функции.
    • <funcname> — имя функции;
    • <param>=<value> — параметр функции и его значение;
  • -e =$ —  параметры, передаваемые через переменные окружения.

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

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

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

 -e '<param>=$<ENV_NAME>'
Пояснения
Укажите знак $ перед именем переменной окружения и заключите аргумент =$ в одинарные кавычки.

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

Чтобы передать пароль:

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

    export SECRET_PASSWORD=secret
  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
Пояснения
Функция управления FTP-пользователями недоступна по умолчанию и требует отдельного включения модуля FTP.

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

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

Завершение работы панели управления
/usr/local/mgr5/sbin/mgrctl -m <manager> exit
Список всех доступных функций
/usr/local/mgr5/sbin/mgrctl -m <manager> -i
Список параметров определённой функции панели управления
/usr/local/mgr5/sbin/mgrctl -m <manager> -i funcname lang=ru

Примеры для BILLmanager

Отключить тарифный план
/usr/local/mgr5/sbin/mgrctl -m billmgr pricelist.suspend elid=<id>
Пояснения

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

Остановить виртуальные машины
/usr/local/mgr5/sbin/mgrctl -m vmmgr vm.stop elid=<id1>,<id2>
Пояснения
Остановить все виртуальные машины
for i in $(/usr/local/mgr5/sbin/mgrctl -m vmmgr vm | grep -v '^func\|^elid' | awk '{print $1}' | awk -F= '{print $2}'); do /usr/local/mgr5/sbin/mgrctl -m vmmgr vm.stop elid=$i; done
Получить названия всех запущенных виртуальных машин
/usr/local/mgr5/sbin/mgrctl -m vmmgr vm | grep running | awk '{print $2}' | awk -F= '{print $2}'

Примеры для VMmanager (OpenVZ)

Перезапустить контейнер
/usr/local/mgr5/sbin/mgrctl -m vemgr vm.restart elid=<id>
Пояснения
Получить список всех доступных шаблонов операционных систем
/usr/local/mgr5/sbin/mgrctl -m vemgr osmgr | sed 's/=/ /g' | awk '{print $4}'
Установить/обновить все доступные шаблоны операционных систем
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

Примеры для DCImanager

Получить наименования всех серверов в стойке
/usr/local/mgr5/sbin/mgrctl -m dcimgr server su=<admin> | grep '<rack>' | awk '{print $2}' | awk -F= '{print $2}'
Пояснения
Создать администратора панели управления
/usr/local/mgr5/sbin/mgrctl -m dcimgr user.edit name=<admin> level=lvAdmin passwd=<pass> confirm=<pass> sok=ok
Пояснения

Примеры для IPmanager

Получить статистику по выданным IP-адресам
/usr/local/mgr5/sbin/mgrctl -m ipmgr permstat

Примеры для DNSmanager

Обновить данные домена на ведомых серверах
/usr/local/mgr5/sbin/mgrctl -m dnsmgr domain.refresh elid=<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
Пояснения