Mgrctl is a utility that is used for performing operations with a control panel and calling its functions from the command line. The default location of the utility is /usr/local/mgr5/sbin/mgrctl.
Syntax
/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> - a short name of a control panel associated with the command. Enter a short name after the key:
- core — COREmanager;
- billmgr — BILLmanager;
- vmmgr — VMmanager KVM or Cloud;
- vemgr — VMmanager OVZ;
- dcimgr — DCImanager;
- dcimini — DCImanager location;
- ipmgr — IPmanager;
- dnsmgr — DNSmanager.
-i — brief information about the functions of the control panel. If the function <funcname> is specified, brief information about all its parameters will be displayed. If the parameter lang is specified, the information on a selected language <language> will be displayed. Possible values:ru, en. The default value is ru.
-o <output format> — information output format. Possible values: text,xml, devel,json. The default value is text.
-l — suspend a control panel. The panel is suspended with the function exit. It cannot be restarted.
-u — resume the control panel that has been suspended with the -l key.
The control panels won't be activated if:
- The command mgrctl -m <manager> -l was executed to suspend several control panels on the server including COREmanager.
- COREmanager was activated with the command mgrctl -m core -u.
-R — restart the control panel before the function is executed.
<funcname> —a function name.
<param>=<value> — function parameter and its value.
-e ‘<param>=$<ENV_NAME>’ — parameters conveyed via environment variables.
Conveying parameters via environment variables
To convey secret data in mrgctl parameters, you can use environment variables. Run the utility with the parameter
-e ‘<param>=$<ENV_NAME>’
Example of conveying a password
-
Set the password value in the SECRET_PASSWORD environment variable:
export SECRET_PASSWORD=secret
-
Create an FTP user in BILLmanager:
/usr/local/mgr5/sbin/mgrctl -m billmgr ftp.user.edit name=ftpuser home=/ owner=www-root -e 'passwd=$SECRET_PASSWORD' sok=ok
Examples
General examples
/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
Examples for BILLmanager
/usr/local/mgr5/sbin/mgrctl -m billmgr pricelist.suspend elid=<id>
Examples for VMmanager KVM and 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}'
Examples for 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
Examples for 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
Examples for IPmanager
/usr/local/mgr5/sbin/mgrctl -m ipmgr permstat
Examples for 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