Perform administrative operations directly on Cyrus IMAP databases.


ctl_cyrusdb [ -C config-file ] -c
ctl_cyrusdb [ -C config-file ] -r [ -x ]


ctl_cyrusdb is used to perform various administrative operations on the Cyrus IMAP databases.

ctl_cyrusdb reads its configuration options out of the imapd.conf(5) file unless specified otherwise by -C. The configdirectory option in imapd.conf(5) is used to determine the default location of the Cyrus databases.


-C config-file

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


Recover the database after an application or system failure. Also performs database cleanups like removing mailbox reservations (and the associated mailbox files).

All mailbox files are also checked to make sure the file format matches the configured database type in imapd.conf. If not, the file is automatically converted using the same logic as cvt_cyrusdb.


Used with -r to only recover the database, and prevent any cleanup.


Checkpoint and archive (a copy of) the database.

Changes to the database which are part of the committed transactions are written to disk.

The archive is created via a hot backup, and inactive log files are removed.


ctl_cyrusdb -r

Recover databases, performing cleanup. This is commonly used in the START section of cyrus.conf(5).

    # do not delete this entry!
    recover     cmd="/usr/local/bin/ctl_cyrusdb -r"
ctl_cyrusdb -x -r

Recover database only.

ctl_cyrusdb -c

Checkpoint databases. Commonly used in the EVENTS section of cyrus.conf(5).

    # this is required
    checkpoint  cmd="/usr/local/bin/ctl_cyrusdb -c" period=30


/etc/imapd.conf /etc/cyrus.conf