recursive reconstruct does not work?

Jo Rhett jrhett at netconsonance.com
Tue Oct 3 18:15:26 EDT 2006


> Am Tuesday 03 October 2006 02:29 schrieb Jo Rhett:
>> I know it's been a few years since I've been active here, but I  
>> think I
>> remember this being an issue before.   Sadly, there's no serious  
>> mention
>> of reconstruct in the Wiki.
>>
>> This syntax is not working to recover a folder where I had to restore
>> messages:
>>
>> su - cyrus -c "reconstruct -r user/username at domain.dom"
>>
>> I watched it with ktrace/kdump and its not even looking for  
>> subfolders.
>>   This doesn't work either
>> su - cyrus -c "reconstruct -xrf user/username at domain.dom"
>>
>> It seems the only thing that works is
>>
>> su - cyrus -c "reconstruct user/username/*@domain.dom"
>> su - cyrus -c "reconstruct user/username/*/*@domain.dom"
>> su - cyrus -c "reconstruct user/username/*/*/*@domain.dom"
>> ...etc

On Oct 3, 2006, at 1:49 AM, Andreas Winkelmann wrote:
>
> # su - cyrus -c "strace -eopen reconstruct -r user.test"
>
> open("/var/spool/imap/user/test/cyrus.header", O_RDWR) = 4
> open("/var/spool/imap/user/test/cyrus.index", O_RDWR) = 5
> ...
> open("/var/spool/imap/user/test/subfolder1/cyrus.header", O_RDWR) = 4
> open("/var/spool/imap/user/test/subfolder1/cyrus.index", O_RDWR) = 5
> ...
> open("/var/spool/imap/user/test/subfolder2/cyrus.header", O_RDWR) = 4
> open("/var/spool/imap/user/test/subfolder2/cyrus.index", O_RDWR) = 5
>
> Seems to work here.
>
> Maybe you should give us some more information about your setup?

Nothing special.  Virtdomains with unixhiersep, altnamespace and  
authentication via sasl auxprop-sql (mysql) out of the box FreeBSD  
ports.

> And show a list of these Mailboxnames with cyradm.

Sure.  Here's the mailboxes and the ktrace of a reconstruct of this  
mailbox (me)

localhost> lm user/jrhett at netconsonance.com
user/jrhett/AT&-T at netconsonance.com (\HasNoChildren)
user/jrhett/American Express at netconsonance.com (\HasNoChildren)
user/jrhett/Drafts at netconsonance.com (\HasNoChildren)
user/jrhett/Junk at netconsonance.com (\HasNoChildren)
user/jrhett/LECG at netconsonance.com (\HasNoChildren)
user/jrhett/OpenSRS at netconsonance.com (\HasNoChildren)
user/jrhett/Sent at netconsonance.com (\HasNoChildren)
user/jrhett/Spam at netconsonance.com (\HasNoChildren)
user/jrhett/Trash at netconsonance.com (\HasNoChildren)
user/jrhett/lecg at netconsonance.com (\HasNoChildren)
user/jrhett/lists/amavisd-users at netconsonance.com (\HasNoChildren)
user/jrhett/lists/cyrus-imapd at netconsonance.com (\HasNoChildren)
user/jrhett/lists/cyrus-sasl at netconsonance.com (\HasNoChildren)
user/jrhett/lists at netconsonance.com (\HasChildren)
user/jrhett at netconsonance.com (\HasChildren)

Here's the ktrace of a reconstruct of my mailbox.  I su-ed to cyrus  
to simplify the command lines.  "ktrace -t n" shows all namei calls  
(filesystem accesses) -- but I stored all of them in the ktrace file  
so I can get you whatever output you want.

I included everything, including the startup library loading so that  
you can see it all.

triceratops# su - cyrus
% cd /tmp
% ktrace reconstruct -r user/jrhett at netconsonance.com
user/jrhett at netconsonance.com
% kdump -t n -f ktrace.out
78102 ktrace   NAMI  "/sbin/reconstruct"
78102 ktrace   NAMI  "/bin/reconstruct"
78102 ktrace   NAMI  "/usr/sbin/reconstruct"
78102 ktrace   NAMI  "/usr/bin/reconstruct"
78102 ktrace   NAMI  "/usr/games/reconstruct"
78102 ktrace   NAMI  "/usr/local/sbin/reconstruct"
78102 ktrace   NAMI  "/usr/local/bin/reconstruct"
78102 ktrace   NAMI  "/usr/X11R6/bin/reconstruct"
78102 ktrace   NAMI  "/usr/local/cyrus/bin/reconstruct"
78102 ktrace   NAMI  "/libexec/ld-elf.so.1"
78102 reconstruct NAMI  "/etc/libmap.conf"
78102 reconstruct NAMI  "/usr/local/lib/libsasl2.so.2"
78102 reconstruct NAMI  "/usr/local/lib/libsasl2.so.2"
78102 reconstruct NAMI  "/usr/local/lib/libgssapi.so.8"
78102 reconstruct NAMI  "/var/run/ld-elf.so.hints"
78102 reconstruct NAMI  "/lib/libgssapi.so.8"
78102 reconstruct NAMI  "/usr/lib/libgssapi.so.8"
78102 reconstruct NAMI  "/usr/lib/libgssapi.so.8"
78102 reconstruct NAMI  "/usr/local/lib/libkrb5.so.8"
78102 reconstruct NAMI  "/lib/libkrb5.so.8"
78102 reconstruct NAMI  "/usr/lib/libkrb5.so.8"
78102 reconstruct NAMI  "/usr/lib/libkrb5.so.8"
78102 reconstruct Events dropped.
78102 reconstruct NAMI  "/usr/local/lib/libssl.so.4"
78102 reconstruct NAMI  "/usr/local/lib/libssl.so.4"
78102 reconstruct NAMI  "/usr/local/lib/libcrypto.so.4"
78102 reconstruct NAMI  "/usr/local/lib/libcrypto.so.4"
78102 reconstruct NAMI  "/usr/local/lib/libmd.so.3"
78102 reconstruct NAMI  "/lib/libmd.so.3"
78102 reconstruct NAMI  "/lib/libmd.so.3"
78102 reconstruct NAMI  "/usr/local/lib/libc.so.6"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct NAMI  "/usr/local/lib/libcrypto.so.4"
78102 reconstruct Events dropped.
78102 reconstruct NAMI  "/etc/malloc.conf"
78102 reconstruct NAMI  "/usr/local/etc/imapd.conf"
78102 reconstruct NAMI  "/var/imap/db/DB_CONFIG"
78102 reconstruct NAMI  "/var/imap/db/DB_CONFIG"
78102 reconstruct NAMI  "/var/tmp"
78102 reconstruct NAMI  "/var/imap/db/__db.001"
78102 reconstruct NAMI  "/var/imap/db/__db.001"
78102 reconstruct NAMI  "/var/imap/db/__db.001"
78102 reconstruct NAMI  "/var/imap/db/__db.002"
78102 reconstruct NAMI  "/var/imap/db/__db.002"
78102 reconstruct NAMI  "/var/imap/db/__db.003"
78102 reconstruct NAMI  "/var/imap/db/__db.003"
78102 reconstruct NAMI  "/var/imap/db/__db.004"
78102 reconstruct NAMI  "/var/imap/db/__db.004"
78102 reconstruct NAMI  "/var/imap/db/__db.005"
78102 reconstruct NAMI  "/var/imap/db/__db.005"
78102 reconstruct NAMI  "/var/imap/db/skipstamp"
78102 reconstruct NAMI  "/usr/local/lib/sasl2"
78102 reconstruct NAMI  "/usr/local/lib/sasl2"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libsasldb.la"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libsasldb.so"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libcrammd5.la"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libcrammd5.so"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct Events dropped.
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libplain.la"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libplain.so"
78102 reconstruct NAMI  "/lib/libcrypt.so.3"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libanonymous.la"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libanonymous.so"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/liblogin.la"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/liblogin.so"
78102 reconstruct NAMI  "/lib/libcrypt.so.3"
78102 reconstruct NAMI  "/lib/libc.so.6"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libsql.la"
78102 reconstruct NAMI  "/usr/local/lib/sasl2/libsql.so"
78102 reconstruct Events dropped.
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.header"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.header"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.header"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett"
78102 reconstruct NAMI  "/var/imap/domain/n/netconsonance.com/quota/j/ 
user.jrhett"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.index"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.index"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.index.NEW"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.cache.NEW"
78102 reconstruct Events dropped.
78102 reconstruct NAMI  "/etc/localtime"
78102 reconstruct NAMI  "/etc/localtime"
78102 reconstruct NAMI  "99."
78102 reconstruct NAMI  "109."
78102 reconstruct NAMI  "111."
78102 reconstruct NAMI  "112."
78102 reconstruct NAMI  "114."
78102 reconstruct NAMI  "115."
78102 reconstruct NAMI  "116."
78102 reconstruct NAMI  "117."
78102 reconstruct NAMI  "118."
78102 reconstruct NAMI  "119."
78102 reconstruct NAMI  "120."
78102 reconstruct NAMI  "121."
78102 reconstruct NAMI  "122."
78102 reconstruct NAMI  "123."
78102 reconstruct NAMI  "124."
78102 reconstruct NAMI  "135."
78102 reconstruct NAMI  "148."
78102 reconstruct NAMI  "151."
78102 reconstruct NAMI  "152."
78102 reconstruct NAMI  "160."
78102 reconstruct NAMI  "163."
78102 reconstruct NAMI  "175."
78102 reconstruct NAMI  "203."
78102 reconstruct NAMI  "206."
78102 reconstruct NAMI  "208."
78102 reconstruct NAMI  "209."
78102 reconstruct NAMI  "230."
78102 reconstruct NAMI  "241."
78102 reconstruct NAMI  "245."
78102 reconstruct NAMI  "247."
78102 reconstruct NAMI  "248."
78102 reconstruct NAMI  "249."
78102 reconstruct NAMI  "250."
78102 reconstruct NAMI  "289."
78102 reconstruct NAMI  "297."
78102 reconstruct NAMI  "298."
78102 reconstruct NAMI  "313."
78102 reconstruct NAMI  "317."
78102 reconstruct NAMI  "319."
78102 reconstruct NAMI  "353."
78102 reconstruct NAMI  "354."
78102 reconstruct NAMI  "355."
78102 reconstruct NAMI  "357."
78102 reconstruct NAMI  "358."
78102 reconstruct NAMI  "359."
78102 reconstruct NAMI  "393."
78102 reconstruct NAMI  "448."
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.header.NEW"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.header.NEW"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.header"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.index.NEW"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.index"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.cache.NEW"
78102 reconstruct NAMI  "/var/spool/imap/domain/netconsonance.com/ 
user/jrhett/cyrus.cache"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"
78102 reconstruct NAMI  "/var/imap/mailboxes.db"

-- 
Jo Rhett
Senior Network Engineer
Network Consonance



More information about the Info-cyrus mailing list