Provided by: cyrus-common-2.4_2.4.12-2_amd64 bug


       cyrreconstruct - reconstruct mailboxes


       cyrreconstruct [ -C config-file ] [ -p partition ] [ -x ] [ -r ] [ -f ]
                   [ -k ] [ -s ] [ -g ] [ -G ] [ -R ] [ -o ] [ -O ] mailbox...
       cyrreconstruct [ -C config-file ] -m


       cyrreconstruct  rebuilds  one or more IMAP mailboxes.  When invoked with the -m switch, it
       rebuilds the master mailboxes file.  It can be used to recover from  almost  any  sort  of
       data corruption.

       If  cyrreconstruct  can  find existing header and index files, it attempts to preserve any
       data in them that  is  not  derivable  from  the  message  files  themselves.   The  state
       cyrreconstruct attempts to preserve includes the flag names, flag state, and internaldate.
       cyrreconstruct derives all other information from the message files.

       cyrreconstruct reads its configuration  options  out  of  the  imapd.conf(5)  file  unless
       specified  otherwise  by  -C.   Any mailbox directory underneath the path specified in the
       partition-news configuration option is assumed to be in news format.

       cyrreconstruct does not adjust the quota usage recorded in any quota  root  files.   After
       running  cyrreconstruct, it is advisable to run cyrquota(8) with the -f switch in order to
       fix the quota root files.


       -C config-file
              Read configuration options from config-file.

       -p partition
              Search for the listed (non-existant) mailboxes on the indicated partition.   Create
              the  mailboxes in the database in addition to reconstructing them.  (not compatible
              with the use of wildcards)

       -x     When processing a mailbox which is not in the mailbox list (e.g. via the -p  or  -f
              options), do not import the metadata from the mailbox, instead create it anew (this
              specifically affects at least the mailbox's  seen  state  unique  identifier,  user
              flags, and ACL).

       -r     Recursively  reconstruct  all  sub-mailboxes  of  the mailboxes or mailbox prefixes
              given as arguments.

       -f     Examine  the  filesystem  underneath  mailbox,  adding  all  directories   with   a
              cyrus.header  found  there  as  new mailboxes.  Useful for restoring mailboxes from

       -s     Don't stat underlying files.  This makes reconstruct run faster, at the expense  of
              not  noticing some issues (like zero byte files or size mistmatches).  "reconstruct
              -s" should be quite fast.

       -n     Don't make any  changes.   This  gives  equivalent  behaviour  to  chk_cyrus  where
              problems are reported, but not fixed.

       -G     Force  re-parsing of the underlying message (checks GUID correctness).  Reconstruct
              with -G should fix all possible individual message issues, including corrupted data

       -R     Perform  a  UID  upgrade  operation on GUID mismatch files.  Use this option if you
              think your index is corrupted rather than your message  files,  or  if  all  backup
              attempts have failed and you're happy to be served the missing files.

       -U     Use  this  option  if  you  have  corrupt message files in your spool and have been
              unable to restore them from backup.  This will make the mailbox  IOERROR  free  and
              fix  replication.   WARNING  this  deletes corrupt message files for ever - so make
              sure you've exhausted other options first!

       -o     Ignore odd files in your mailbox disk directories.   Probably  useful  if  you  are
              using some tool which adds additional tracking files.

       -O     Delete odd files.  This is the opposite of '-o'.

              Rebuild  the  mailboxes  file.  Use whatever data in the existing mailboxes file it
              can scavenge, then scans all  partitions  listed  in  the  imapd.conf(5)  file  for
              additional mailboxes.


       You want to reconstruct the index files for a user, you have recovered a deleted mail file
       from backup and given it a suitable name (eg user/ben-lacy/33.), but  it  is  not  visible
       since it is not indexed:

       reconstruct -r user.ben-lacy

       If you have the unixhierarchysep:yes option set in /etc/imapd.conf you would need to run:

       reconstruct -r user/ben.lacy