ctl_cyrusdb

Perform administrative operations directly on Cyrus IMAP databases.

Synopsis

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

Description

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.

Options

-C config-file

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

-r

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.

If the reverseacls option in imapd.conf(5) is enabled, and the RACL entries in the database are an old version or do not exist, they will be generated. Conversely, if RACL entries do exist in the database, but the reverseacls option is disabled, then the entries will be cleaned up.

-x

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

-c

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.

Examples

ctl_cyrusdb -r

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

START {
    # 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).

EVENTS {
    # this is required
    checkpoint  cmd="/usr/local/bin/ctl_cyrusdb -c" period=30
  <...>

Files

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