Утилита 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>'Пояснения
Укажите знак
$ перед именем переменной окружения и заключите аргумент =$ в одинарные кавычки.Пример передачи пароля
Чтобы передать пароль:
-
Задайте значение пароля в переменной окружения
SECRET_PASSWORD:export SECRET_PASSWORD=secret -
Создайте в 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Пояснения