Provided by: dovecot-core_2.2.22-1ubuntu2_amd64 bug


       doveadm-deduplicate - expunge duplicate messages


       doveadm [-Dv] deduplicate [-u user|-A|-F file] [-S socket_path] [-m] search_query


       This  command is used to expunge duplicated messages in mailboxes.  doveadm deduplicate is
       mainly useful to revert some (more or less) accidental duplication of messages, e.g. after
       doveadm  copy  or  doveadm  import.  doveadm(1) will delete the newest duplicated messages
       from the mailbox and keep the oldest.
       Deduplication across multiple mailboxes is not supported.


       Global doveadm(1) options:

       -D     Enables verbosity and debug messages.

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

       -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

              This  allows an administrator to execute doveadm(1) mail commands through the given

       -m     if the -m option is given, doveadm(1) will deduplicate by  Message-Id  header.   By
              default deduplication will be done by message GUIDs.

       -u user/mask
              Run  the  command  only  for the given user.  It's also possible to use '*' and '?'
              wildcards (e.g. -u *
              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.


              expunge  duplicates found from messages matching the given search query.  Typically
              a search query like 'mailbox mailbox_name OR mailbox other_box' will be sufficient.
              See doveadm-search-query(7) for details.


       This example shows how to list and expunge duplicate messages from a mailbox.

       doveadm -f table fetch -u jane 'guid uid' mailbox a_Box | sort
       guid                             uid
       8aad0f0a30169f4bea620000ca356bad 18751
       8aad0f0a30169f4bea620000ca356bad 18756
       923e301ab9219b4b4f440000ca356bad 18748
       923e301ab9219b4b4f440000ca356bad 18753
       doveadm deduplicate -u jane mailbox a_Box
       doveadm -f table fetch -u jane 'guid uid' mailbox a_Box | sort
       guid                             uid
       8aad0f0a30169f4bea620000ca356bad 18751
       923e301ab9219b4b4f440000ca356bad 18748
       a7999e1530739c4bd26d0000ca356bad 18749


       Report   bugs,   including   doveconf   -n   output,   to   the   Dovecot   Mailing   List
       <>.    Information   about   reporting   bugs    is    available    at:


       doveadm(1), doveadm-copy(1), doveadm-fetch(1), doveadm-import(1), doveadm-search-query(7)