MUPDATE(8)
π MUPDATE(8) π
okay bestie, welcome to the mupdate page β this is part of the Cyrus IMAP documentation, and it's all about the MUPDATE server process. yes she's the main character of the whole mailboxdb aggregation situation. let's get into it π«Ά
β¨ NAME β¨
mupdate β Cyrus IMAP documentation
MUPDATE server process π
πΈ SYNOPSIS πΈ
mupdate [ -C config-file ] [ -m ] [ -a ]
π¦ DESCRIPTION π¦
so mupdate is the mailboxdb aggregation server. it takes commands on its standard input and it answers back on its standard output. periodt. π
it MUST be invoked by master(8) with those descriptors attached to a remote client connection. like, that's not a suggestion, that's the vibe check and you have to pass it. π¨
mupdate reads its configuration options out of the imapd.conf(5) file, unless you tell it otherwise with -C.
and okay this part is kind of iconic: 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. β¨
those telemetry logs get stored in the log/user directory with a filename of the mupdate process-id. so cute, so organized. π
π OPTIONS π
-Cconfig-file β use the specified configuration file config-file instead of the defaultimapd.conf(5). you're basically telling her "no bestie, read this one." π-mβ run as the MUPDATE master. the default is to act as slave, so this is the glow-up flag. π-aβ[autoselect]check the mupdate_server setting inimapd.conf(5)to see if this is the designated master server, and act as master if that's the case. otherwise act as slave. she'll figure out her own role, she's self-aware like that. π
π₯ EXAMPLES π₯
mupdate is commonly included in the SERVICES section of cyrus.conf(5), like so:
SERVICES {
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
}
ngl the comments in there are doing the most helpful heavy lifting β mupdate master, only one in the entire cluster and mupdate slave, run on each frontend host in the cluster. read them twice. iykyk. π
π FILES π
/etc/imapd.conf
β SEE ALSO β
π AUTHOR π
The Cyrus Team, Nic Bernstein (Onlight)
πΈ COPYRIGHT πΈ
1993β2026, The Cyrus Team
and that's the whole page bestie, you ate it up fr fr π«Άβ¨ this was Cyrus IMAP version 3.12.4, dated Sep 09, 2026 β mwah, go forth and aggregate those mailboxes ππ
π¦ where this page comes from
- fedora 44: cyrus-imapd 3.12.4-1.fc44 Β· BSD-Attribution-HPND-disclaimer
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms