Reconstruct mailbox for a specific user.

Andrew Morgan morgan at orst.edu
Wed Dec 19 13:41:10 EST 2012


On Thu, 13 Dec 2012, anant at isac.gov.in wrote:

> ----- Message from morgan at orst.edu ---------
>     Date: Wed, 12 Dec 2012 09:33:03 -0800 (PST)
>     From: Andrew Morgan <morgan at orst.edu>
>  Subject: Re: Reconstruct mailbox for a specific user.
>       To: anant at isac.gov.in
>       Cc: info-cyrus at lists.andrew.cmu.edu
>
>
>> On Wed, 12 Dec 2012, anant at isac.gov.in wrote:
>>
>>> ----- Message from morgan at orst.edu ---------
>>>    Date: Tue, 11 Dec 2012 20:55:04 -0800 (PST)
>>>    From: Andrew Morgan <morgan at orst.edu>
>>> Subject: Re: Reconstruct mailbox for a specific user.
>>>      To: anant at isac.gov.in
>>>      Cc: info-cyrus at lists.andrew.cmu.edu
>>>
>>>
>>>> On Wed, 12 Dec 2012, anant at isac.gov.in wrote:
>>>>
>>>>>>>>> One of the users mailbox has one more level of sub folder like
>>>>>>>>>
>>>>>>>>> user.xxx.ABC
>>>>>>>>> user.xxx.ABC.def
>>>>>>>>>
>>>>>>>>> Right now, folders of level user.xxx are seen, but folders at
>>>>>>>>> user.xxx.ABC including ABC are not seen.
>>>>>>>>>
>>>>>>>>> Should I run,
>>>>>>>>> /usr/lib/cyrus-imapd/reconstruct -rf user.xxx.ABC now? That is when
>>>>>>>>> Cyrus-imapd is already running?  Or I should stop the service and run
>>>>>>>>> reconstruct?  Please advise.
>>>>>>>>
>>>>>>>> You can run reconstruct and quota while cyrus-imapd is running.
>>>>>>>>
>>>>>>>> If reconstruct does not succeed, verify the mailbox(es) are
>>>>>>>> listed within
>>>>>>>> the output of 'ctl_mboxlist -d'. If not, you should add them
>>>>>>>> via cyradm.
>>>>>>>> reconstruct may also fail for a given mailbox if you are missing the
>>>>>>>> cyrus.* files within its directory.
>>>>>>>>
>>>>>>>> You might wish to backup the contents of the directories in
>>>>>>>> question before
>>>>>>>> proceeding, in case you end up with missing flags or other data.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Dan White
>>>>>>>
>>>>>>> What I found is
>>>>>>>
>>>>>>> 1. /var/spool/imap/user/xxx exists
>>>>>>> 2. /var/spool/imap/user has several directories
>>>>>>> 3. All other directories except ABC are listed as folders under
>>>>>>> user.xxx and are seen by IMAP clients.
>>>>>>> 4. ABC directory has subfolders like
>>>>>>> /var/spool/imap/user/xxx/ABC/1, 2 3 etc and each of these
>>>>>>> subdirectories has cyrus.* files except ABC directory.  As you
>>>>>>> said, as ABC directory does not have cyrus.* files, reconstruct
>>>>>>> has failed to recognise it and hence its subdirectories.
>>>>>>>
>>>>>>> Should I run reconstruct -r -f user.xxx.ABC or cm user.xxx.ABC
>>>>>>> and then run reconstruct -r -f user.xxx.ABC?
>>>>>>
>>>>>> Create a cyrus.header file in the ABC directory, set the ownership
>>>>>> and permissions.  Something like this:
>>>>>>
>>>>>> touch cyrus.header
>>>>>> chown cyrus:mail cyrus.header
>>>>>> chmod 600 cyrus.header
>>>>>>
>>>>>> Then run:
>>>>>>
>>>>>> reconstruct -x -f user.xxx.ABC
>>>>>>
>>>>>>
>>>>>> I should have asked at the beginning - are there any message files
>>>>>> in (1., 2., 3., etc) in the ABC directory?
>>>>>>
>>>>>> 	Andy
>>>>>
>>>>>
>>>>> NO. There are no message files in ABC directory.  There are only
>>>>> directories in ABC directory and each such directory has message
>>>>> files and also cyrus.* files.
>>>>>
>>>>> I am thinking of another option, move all such directories under
>>>>> ABC to one level higher, that is at user.xxx level and run
>>>>> reconstruct -r -f user.xxx.
>>>>>
>>>>> But, you still suggest, which is the best way.
>>>>
>>>> What happens when you run:
>>>>
>>>> reconstruct -x -f user.xxx.ABC.def
>>>>
>>>> ?
>>>>
>>>> 	Andy
>>>
>>>
>>> NO output.  lm does not list user.xxx.ABC or user.XXX.ABC.def.
>>
>> Hmmm.  Could this be a bug in reconstruct?  Maybe it won't
>> reconstruct a mailbox is the parent is not also a mailbox...
>>
>> Why don't you try creating user.xxx.ABC in cyradm, then running the
>> same reconstruct command?
>>
>> 	Andy
>
>
> YES. This helped and all folders got recognised.  Thank you for your guidance.
>
> Regards,
> Anant.

I found an existing bug report that covers this:

   https://bugzilla.cyrusimap.org/show_bug.cgi?id=2125

I updated the bug report with an example of how to reproduce the problem, 
which is still present in v2.4.17.  This bug was originally created 
2003-07-30.  :)

 	Andy


More information about the Info-cyrus mailing list