Утилита 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 <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. Блокируется возможность её повторного запуска.
-u — возобновить работу панели управления, приостановленной при помощи ключа -l.
В случае если:
- Командой mgrctl -m <manager> -l поочерёдно приостановлена работа нескольких панелей управления на сервере, включая COREmanager.
- Командой mgrctl -m core -u возобновляется работа COREmanager.
Работа остальных панелей управления не будет возобновлена.
- -R — перезапустить панель управления перед выполнением функции.
- <funcname> — имя функции.
- <param>=<value> — параметр функции и его значение.
- -e <param>=$<ENV_NAME> — параметры, передаваемые через переменные окружения
Передача параметров через переменные окружения
Чтобы передать секретные данные в параметрах mrgctl, вы можете использовать переменные окружения. Для этого запустите утилиту с параметром
-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
Примеры использования
Общие примеры
/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 | 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 OVZ
/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
/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