cyrus: delete previously deleted messages(after backup recovery)

Y B ybpubs at gmail.com
Wed Apr 23 09:22:39 EDT 2014


this seems to be a good way to reach my goal. Unfortunately, my version of
cyrreconstruct does not accept the -n option :

       cyrreconstruct [ -C config-file ] [ -p partition ] [ -x ] [ -r ] [
-f ] mailbox...
       cyrreconstruct [ -C config-file ] -m

Using cyradm and reconstruct does not allow the -n either, only the
recursive flag is allowed (-r).

I tried to reconstruct the mailbox anyway but nothing seems to happen (i
ran the command on a mailbox with one email in INBOX and ten email files
but after the execution of the command, nothing changes).

Related lines in syslog:

Apr 23 15:06:37 srv1 cyrus/imap[30671]: Reconstructing 'user.davicere' (not
recursive) for user 'cyrus'
Apr 23 15:06:37 srv1 cyrus/imap[30672]: Regenerating quota roots starting
with 'user.davicere' for user 'cyrus'

My version of cyrus : 2.2.13
cyrus at srv1:~$ cyradm localhost
localhost> ver
name       : Cyrus IMAPD
version    : v2.2.13-Debian-2.2.13-19+squeeze3 2006/12/19 19:32:59
vendor     : Project Cyrus
support-url: http://asg.web.cmu.edu/cyrus
os         : Linux
os-version : 2.6.26-1-xen-686


With which version of cyrus can you use the -n option? With cyradm or
cyrreconstruct?

Any solution in my case?

Thanks

Yannick





2014-04-23 14:00 GMT+02:00 Patrick Boutilier <boutilpj at ednet.ns.ca>:

> On 04/23/2014 08:45 AM, Y B wrote:
>
>> thanks for the answer.
>> I certainly still have the metadata since I have not lost any file, I
>> have just too many files (all the previously deleted emails, recovered
>> from my rsync backup)
>> I am not exactly sure where the metadata are situated, /var/imap does
>> not exist. In my case, all email files are situated at
>> /data/mail/imap/spool/*/user/username (the star being any letter of the
>> alphabet).
>> For a given username, I have for example the following files:
>>
>> -rw-------  1 cyrus mail    21183 Apr 23 11:01 4846.
>> -rw-------  1 cyrus mail    26585 Apr 23 10:49 4845.
>> -rw-------  1 cyrus mail    15720 Apr 23 10:39 4844.
>> -rw------- 1 cyrus mail  4496548 Apr 23 13:36 cyrus.cache
>> -rw------- 1 cyrus mail      251 Mar 10 16:52 cyrus.header
>> -rw------- 1 cyrus mail   151816 Apr 23 13:36 cyrus.index
>> -rw------- 1 cyrus mail 10087920 Jan 22 02:28 cyrus.squat
>> drwx------  2 cyrus mail    69632 Apr 23 13:11 Sent
>> drwx------  2 cyrus mail     4096 Apr 23 09:38 Drafts
>> drwx------  4 cyrus mail    69632 Apr 22 20:45 Trash
>> drwx------  2 cyrus mail     4096 Apr 22 20:30 spam
>>
>>
>> Are the metadata in the cyrus.* files?
>>
>> If yes, is there an easy way to delete the old emails using these
>> metadata?
>>
>> Thank you.
>>
>> Yannick
>>
>
>
> Yes, metadata files are the cyrus.* files. What version of Cyrus are you
> running? You should be able to run reconstruct on the mailboxes with the -n
> option which should list the files that reconstruct would have added back
> to the index if the -n option was not used. Use this output to determine
> which files can be deleted.
>
> For example I added some bogus files called 1. , 101. , and 255. to my
> mailbox.
>
>
>
> reconstruct -n user.boutilpj
> user.boutilpj uid 1 rediscovered - appending
> user.boutilpj uid 101 rediscovered - appending
> user.boutilpj uid 255 rediscovered - appending
> user.boutilpj
>
>
>
>
>
>
>
>
>
>
>
>
>>
>>
>> 2014-04-22 15:06 GMT+02:00 Patrick Boutilier <boutilpj at ednet.ns.ca
>> <mailto:boutilpj at ednet.ns.ca>>:
>>
>>
>>     On 04/22/2014 09:19 AM, Y B wrote:
>>
>>         Hello,
>>
>>         after a disk crash, I had to recover all the emails from a daily
>>         backup.
>>         Unfortunately, I noticed that this backup was made with the rsync
>>         command but WITHOUT the --delete options.
>>         That means that the mail backup was much larger than the
>>         original one
>>         since no message was ever deleted on the backup.
>>         Now I would like to clean the mailboxes and remove all those
>>         emails that
>>         were previously deleted but I cannot find how.
>>         Is there any easy way to do this?
>>         (I use cyrus+postfix on debian 6.0.4)
>>
>>         Thank you for your help.
>>
>>
>>     Did you lose your metadata as well? Usually in /var/imap ?
>>
>>
>>
>>
>>
>>
>>         Yannick
>>
>>
>>         ----
>>         Cyrus Home Page: http://www.cyrusimap.org/
>>         List Archives/Info:
>>         http://lists.andrew.cmu.edu/__pipermail/info-cyrus/
>>         <http://lists.andrew.cmu.edu/pipermail/info-cyrus/>
>>         To Unsubscribe:
>>         https://lists.andrew.cmu.edu/__mailman/listinfo/info-cyrus
>>
>>         <https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus>
>>
>>
>>
>>     ----
>>     Cyrus Home Page: http://www.cyrusimap.org/
>>     List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
>>     To Unsubscribe:
>>     https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
>>
>>
>>
>
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20140423/aa7c5843/attachment-0001.html 


More information about the Info-cyrus mailing list