Утилита mgrctl предназначена для выполнения операций с панелью управления и вызова её функций из командной строки. По умолчанию она расположена в /opt/ispsystem/dnsmanager6/sbin/mgrctl.
Синтаксис
/opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr [-u | -i [lang=<language>] | -l | [[-o <output format>] [-R | <funcname> [[<param>=<value>] ...]] [[-e ‘<param>=$<ENV_NAME>’] ...]]]
-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
-
Создайте в ISPmanager пользователя для FTP:
/opt/ispsystem/dnsmanager6/sbin/mgrctl -m ispmgr ftp.user.edit name=ftpuser home=/ owner=www-root -e 'passwd=$SECRET_PASSWORD' sok=ok
Примеры использования
/opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr exit
/opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr -i
/opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr -i funcname lang=ru
/opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr domain.refresh elid=<domain>
for i in $(/opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr domain su=<user> | awk '{print $4}' | awk -F= '{print $2}'); do /opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr domain.refresh elid=$i; done