Reconstruct mailbox for a specific user.

Andrew Morgan morgan at orst.edu
Wed Dec 12 12:33:03 EST 2012


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


More information about the Info-cyrus mailing list