Утилита 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;
- ispmgr — ispmanager;
- ispmgrnode — узел кластера ispmanager Business.
-i — краткая информация обо всех возможных функциях панели управления. Если указана функция , то будет отображена краткая информация обо всех параметрах этой функции. Если указан параметр lang, то информация будет отображена на выбранном языке . Доступные значения: ru, en. По умолчанию — ru.
-o — формат вывода информации. Доступные значения: text, xml, devel, json. По умолчанию — text.
-l — приостановить работу панели управления. Панель управления останавливается вызовом функции exit. Блокируется возможность её повторного запуска.
-u — возобновить работу панели управления, приостановленной при помощи ключа -l.
- Командой mgrctl -m
-l поочерёдно приостановлена работа нескольких панелей управления на сервере, включая COREmanager. - Командой mgrctl -m core -u возобновляется работа COREmanager.
-R — перезапустить панель управления перед выполнением функции.
— имя функции.
= — параметр функции и его значение.
-e ‘=$’ — параметры, передаваемые через переменные окружения
Передача параметров через переменные окружения
Чтобы передать секретные данные в параметрах mrgctl, вы можете использовать переменные окружения. Для этого запустите утилиту с параметром
-e ‘<param>=$<ENV_NAME>’
Пример передачи пароля
- Задайте значение пароля в переменной окружения SECRET_PASSWORD:
export SECRET_PASSWORD=secret
- Создайте в ispmanager пользователя для FTP:
/usr/local/mgr5/sbin/mgrctl -m ispmgr ftp.user.edit name=ftpuser home=/ owner=www-root -e 'passwd=$SECRET_PASSWORD' sok=ok
Примеры использования
Общие примеры
Завершение работы панели управления
/usr/local/mgr5/sbin/mgrctl -m <manager> exit
Список всех доступных функций mgrctl для панели управления
/usr/local/mgr5/sbin/mgrctl -m <manager> -i
Список параметров определённой функции панели управления
/usr/local/mgr5/sbin/mgrctl -m <manager> -i funcname lang=ru
Примеры для ispmanager
Получить список всех WWW-доменов
/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain | sed 's/=/ /' | awk '{print $2}'
Список WWW-доменов, принадлежащих определённому пользователю
/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain su=<user> | sed 's/=/ /' | awk '{print $2}'
Обновить все домены на внешних серверах имён
for i in $(/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain | awk '{print $1}' | awk -F = '{print $2}'); do /usr/local/mgr5/sbin/mgrctl -m ispmgr domain.fix elid=$i; done
Отключить PHP для всех WWW-доменов
for i in $(/usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain | awk '{print $1}' | awk -F = '{print $2}'); do /usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain.edit php=off elid=$i sok=ok; done