Skip to content

doveadm rmb plugin

Yvonne Radon edited this page Nov 15, 2018 · 22 revisions

doveadm rmb

Name

doveadm rmb - dovecot ceph plugin administration utility

Synopsis

doveadm [-Dv] [-f formatter] rmb command [command_options] [command_arguments]

Description

doveadm rmb is the Dovecot Ceph storage plugin administration utiltiy, which basically wraps the rmb cli commands, but also provides access to the index management of Dovecot. Execute doveadm rmb for a command usage listing.

Options

-D

Enables verbosity and debug messages.

-f formatter

Specifies the formatter for formatting the output. Supported formatters are:

flow

Prints each line with key=value pairs

pager

Prints each key: value pair on its own line and separates records with from feed character.

table

Prints a table header followed by adjusted value lines

-o setting=value

Overrides the configuration setting from /etc/dovecot/dovecot.conf and from the userdb with the given value. In order to override multiple settings, the -o option may be specified multiple times.

-v

Enables verbosity, including progress counter.

Command specific options:

-u user/mask

Run the command only for the given user. It’s also possible to use '*' and '?' wildcards (e.g. -u *@example.org). When neither the *-A* option, nor the -F file option, nor the -u user was specified, the command will be executed with the environment of the currently logged in user.

-A

If the -A option is present, the command will be performed for all users. Using this option in combination with system users from userdb { driver = passwd } is not recommended, because it contains also users with a lower UID than the one configured with the first_valid_uid setting.
When the SQL userdb module is used make sure that the iterate_query setting in /etc/dovecot/dovecot-sql.conf.ext matches your database layout. When using the LDAP userdb module, make sure that the iterate_attrs and iterate_filter settings in /etc/dovecot/dovecot-ldap.conf.ext match your LDAP schema. Otherwise doveadm(1) will be unable to iterate over all users.

-F file

Execute the command for all the users in the file. This is similar to the -A option, but instead of getting the list of users from the userdb, they are read from the given file. The file contains one username per line.

-S socket_path

The option’s argument is either an absolute path to a local UNIX domain socket, or a hostname and port (hostname:port), in order to connect a remote host via a TCP socket.
This allows an administrator to execute doveadm mail commands through the given socket.

Arguments

For the possible arguments and their meaning have a look at the rmb cli page.

Commands

doveadm rmb check indices [-u user|-A|-F file] [-S socket_path] [-d]

doveadm rmb specific command, system will check if there are objects in RADOS which are not in the index files, and vice versa. The -d option will delete all user mail objects not referenced in index files.

⚠️
This is a costly operation, because we are scanning the object storage namespace of a user.
doveadm rmb config create | show | update -u user [-S socket_path]

Allows the creation of the dovecot plugin ceph configuration, for details see rmb cli documentation.

doveadm rmb delete -u user [-S socket_path] oid

Deletes the object with given oid from RADOS. The Dovecot index data will not be updated.

🔥
This command will not ask for confirmation!
doveadm rmb ls [-u user|-A|-F file] [-S socket_path] - | key=value

List objects in RADOS storage. For more information have a look at rmb cli documentation.

⚠️
This command does not use the index files, it scans the object storage.
doveadm rmb get [-u user|-A|-F file] [-S socket_path] - | key=value

Allows the download of objects from RADOS storage to a local directory. The command will only download the objectfile (original mail) without metadata. If you need to do a backup use doveadm backup.

doveadm rmb set -u user [-S socket_path] oid key=value

Allows the update of metadata attributes. See rmb cli documentation for details.

doveadm rmb ls mb [-u user|-A|-F file] [-S socket_path]

Displays the user mailboxes with some stats.

⚠️
This command does not use the index files, it scans the object storage.
doveadm rmb lspools -u user [-S socket_path]

List all storage pools. The user will be ignored.

⚠️
This command does not use the index files, it scans the object storage.
doveadm rmb mailbox delete [-u user|-A|-F file] [-S socket_path] [-s] [-r] [-e] [-Z] mailbox …​

This command wraps the doveadm mailbox delete command. In case you are using namespace indirection this command will delete the user namespace file, if all mailboxes are empty.

🔥
This command will not ask for confirmation!
doveadm rmb rename -u user [-S socket_path] new-username

Allows the renaming of a user if namespace indirection is active. Only the RADOS namespace indirection will be changed to new-username. The users home directory will not be renamed.

doveadm rmb revert -u user [-S socket_path] save_log

Used to clean up all objects given in save_log. For more information, have a look at rmb cli documentation and rbox configuration. The save_log will be recorded by the rbox storage if requested by configuration. It contains information about RADOS object creation and manipulation. The save_log has three command types: save, copy and move.
The user from -u user will be ignored because the user information from save_log will be used.
During this command the recorded operations will be reverted as much as possible:

save

Objects will be deleted

copy

Objects will be deleted

move

The rbox plugin does not change the mail object when it is moved between the user’s mailboxes. It only creates a new index entry and removes the old. The doveadm rmb revert command will restore the original index entry for the moved mail.

🔥
This command will not ask for confirmation!

Example

Delete mail objects with doveadm rmb and save_log with re-creation of moved index entries:
doveadm rmb revert /path/to/save_log