DOVEADM-MAIL-FS(1)

NAME
doveadm-mail-fs - Interact with the abstract mail storage filesystem in user context

SYNOPSIS

doveadm [GLOBAL OPTIONS] fs command config-filter-name [ARGUMENTS]

doveadm [GLOBAL OPTIONS] mail fs command [OPTIONS] config-filter-name [ARGUMENTS]

DESCRIPTION

The doveadm fs commands are used to abstractly interact with the storage driver defined in the Dovecot configuration. It allows access to the mailbox structure without needing to know details of how the storage driver is designed.

config-filter-name

        Filter name to use when looking up the fs settings. For example mail_attachments, obox, metacache, fts/dovecot. It's also possible to use an empty filter name and specify the fs settings using the -o parameter.

GLOBAL OPTIONS

Global doveadm(1) options:

-D

        Enables verbosity and debug messages.

-O

        Do not read any config file, just use defaults. The dovecot_storage_version setting defaults to the latest version, but can be overridden with -o.

-k

        Preserve entire environment for doveadm, not just import_environment setting.

-v

        Enables verbosity, including progress counter.

-i instance-name

        If using multiple Dovecot instances, choose the config file based on this instance name.

        See instance_name setting for more information.

-c config-file

        Read configuration from the given config-file. By default it first reads config socket, and then falls back to /etc/dovecot/dovecot.conf. You can also point this to config socket of some instance running compatible version.

-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.

-f formatter

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

        flow

            prints each line with key=value pairs.

json

    prints a JSON array of JSON objects.

pager

    prints each key: value pair on its own line and separates records with form feed character (^L).

tab

    prints a table header followed by tab separated value lines.

table

    prints a table header followed by adjusted value lines.

OPTIONS

-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 userdb_sql_iterate_query setting setting matches your database layout.

        When using the LDAP userdb module, make sure that the userdb_fields setting and userdb_ldap_iterate_fields setting settings match your LDAP schema. Otherwise doveadm(1) will be unable to iterate over all users.

-u user/mask

        Run the command only for the given user. It's also possible to use '*' and '?' wildcards (e.g. -u *@example.org).

-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(1) mail commands through the given socket.

COMMANDS

  copy

doveadm [GLOBAL OPTIONS] fs copy config-filter-name source-path dest-path

doveadm [GLOBAL OPTIONS] mail fs copy [-A | -u user | -F file] [-S socket_path] config-filter-name source-path dest-path

Copy source path to the destination path.

  delete

doveadm [GLOBAL OPTIONS] fs delete [-R] [-n count] config-filter-name path [path ...]

doveadm [GLOBAL OPTIONS] mail fs delete [-A | -u user | -F file] [-S socket_path] [-R] [-n count] config-filter-name path [path ...]

Delete all data associated with the path provided.

-R

        Recursively delete files.

-n count

        Maximum number of parallel operations to perform.

  get

doveadm [GLOBAL OPTIONS] fs get config-filter-name path

doveadm [GLOBAL OPTIONS] mail fs get [-A | -u user | -F file] [-S socket_path] config-filter-name path

Retrieve data associated with the path provided.

  iter

doveadm [GLOBAL OPTIONS] fs iter config-filter-name path

doveadm [GLOBAL OPTIONS] mail fs iter [-A | -u user | -F file] [-S socket_path] config-filter-name path

Iterate through all data files in the path provided.

  iter-dirs

doveadm [GLOBAL OPTIONS] fs iter-dirs config-filter-name path

doveadm [GLOBAL OPTIONS] mail fs iter-dirs [-A | -u user | -F file] [-S socket_path] config-filter-name path

Iterate through all directories in the path provided.

  put

doveadm [GLOBAL OPTIONS] fs put [-h hash] [-m key=value] config-filter-name input_path path

doveadm [GLOBAL OPTIONS] mail fs put [-A | -u user | -F file] [-S socket_path] [-h hash] [-m key=value] config-filter-name path

Store data at the path provided.

-h hash

        Save provided hash as content hash. Must be either MD5 or SHA256 in hexdigits.

-m key=value

        Assign a value to a metadata. Can be provided as many times as needed. Requires either metawrap as driver or metadata capable FS-driver.

  stat

doveadm [GLOBAL OPTIONS] fs stat config-filter-name path

doveadm [GLOBAL OPTIONS] mail fs stat [-A | -u user | -F file] [-S socket_path] config-filter-name path

Retrieve files status for the path provided. Currently, only the total size (in bytes) of the item is returned.

REPORTING BUGS

Report bugs, including doveconf -n output, to the Dovecot Mailing List ⟨dovecot@dovecot.org⟩. Information about reporting bugs is available at: https://dovecot.org/bugreport.html

EXAMPLE

How to decompress a file.

    doveadm -o fs=compress,posix -o fs/compress/fs_driver=compress -o fs/posix/fs_driver=posix -o fs_posix_prefix=/tmp/ fs get "" test.gz

Using a named filter.

    doveadm mail fs -u testuser get obox path/to/file

SEE ALSO

doveadm(1)