MUPDATE server process


mupdate [ -C config-file ] [ -m ] [ -a ]


mupdate is the mailboxdb aggregation server. It accepts commands on its standard input and responds on its standard output. It MUST be invoked by master(8) with those descriptors attached to a remote client connection.

mupdate reads its configuration options out of the imapd.conf(5) file unless specified otherwise by -C.

If the directory log/user exists under the directory specified in the configdirectory configuration option, then mupdate will create protocol telemetry logs for sessions authenticating as user.

The telemetry logs will be stored in the log/user directory with a filename of the mupdate process-id.


-C config-file

Use the specified configuration file config-file rather than the default imapd.conf(5).


Run as the MUPDATE master. Default is to act as slave.


[autoselect] Check mupdate_server setting in imapd.conf(5) to see if this is the designated master server, and act as master if this is the case. Otherwise act as slave.


mupdate is commonly included in the SERVICES section of cyrus.conf(5) like so:

    imap        cmd="imapd -U 30" listen="imap" prefork=0
    imaps       cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
    lmtpunix    cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
    sieve       cmd="timsieved" listen="sieve" prefork=0
    notify      cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1
    httpd       cmd="httpd" listen=8080 prefork=1 maxchild=20
    # (mupdate master, only one in the entire cluster)
    mupdate     cmd="mupdate -m" listen="mupdate" prefork=1
    # (mupdate slave, run on each frontend host in the cluster)
    # mupdate     cmd="mupdate" listen="mupdate" prefork=1