cyrmaster
is the process that controls all of the Cyrus processes. This process
is responsible for creating all imapd, pop3d, lmtpd and sieved child
processes. This process also initializes the Berkeley DB code and
performs scheduled cleanup/maintenance.
If this process dies, then no new sessions will be started.
It kills itself and all child processes
when it receives a SIGTERM.
OPTIONS
-C alternate imapd.conf
Specifies an alternate imapd.conf for use by cyrmaster (note that this will
not affect any sub-processes spawned by cyrmaster, you should specify those
specifically in the respective entries in cyrus.conf).
-M alternate cyrus.conf
Specifies an alternate cyrus.conf for use by cyrmaster.
-l listen queue backlog
Increase the listen queue backlog. By default, the listen queue is set
to 32. On systems with a high connection rate, it may be desirable
to increase this value. refer to listen(2) for details.
-j janitor full-sweeps per second
Sets the amount of times per second the janitor should sweep the entire
child table. Leave it at the default of 1 unless you have a really high
fork rate (and you have not increased the child hash table size when you
compiled Cyrus from its default of 10000 entries).
-p pidfile
Use
pidfile
as the pidfile. If not specified, defaults to /var/run/cyrmaster.pid
-P snmp agentx ping interval
Sets the amount on time in seconds the subagent will try and reconnect to the
master agent (snmpd) if it ever becomes (or starts) disconnected. Requires
net-snmp 5.0 or higher.
-d
Start in daemon mode (run in background and disconnect from controlling
terminal).
-D
Don't close stdin/stdout/stderr. Primiarly useful for debugging.
-x snmp agentx socket
Address the master agent (most likely snmpd) listens on.
Requires net-snmp 5.0 or higher.
CONFIGURATION
Upon execution,
cyrmaster
reads its configuration information out of the
cyrus.conf(5)
file.
cyrmaster
rereads its configuration file when it receives a hangup signal,
SIGHUP. Services and events may be added, deleted or modified when the
configuration file is reread. Any active services removed from the
configuration file will be allowed to run until completion.
NOTES
The environment variable CYRUS_VERBOSE can be set to log additional
debugging information. Setting the value to 1 results in base level logging.
Setting it higher results in more log messages being generated.
BUGS
Services do not always go away silently when removed through a SIGHUP. If
there are workers of the removed service still running, messages to syslog
about broken pipes and accept() failures are to be expected.
The in-memory list of services is not cleaned up ever, so a cyrmaster daemon
that has been sent an extremely high amount of SIGHUP signals to
add/remove/modify services will lose performance eventually. Restarting
cyrmaster fixes this.