cyrus-imapd crash, fails to restart

Simon Matter simon.matter at invoca.ch
Wed Feb 21 01:52:41 EST 2007


>
> Hi Simon - thanks for the reply.  I apologize for being remiss in
> providing the necessary info; I know better than that.
>
> Simon Matter wrote:
>
>> what version you are running.
>
> cyrus-imapd-2.2.12-1.1.fc3

Yes, that's old and possibly includes a buggy cvt_cyrusdb_all.

>
>> cyrus-imapd really doesn't like disk full problems!
>
> I'm gathering that! :-)
>
>> Do you have backups of the box?
>
> I do - but they're 5 weeks old - I backup to my home system, and we just
> moved.  I haven't plugged in my home server and backup system since.  If
> possible, I would like to recover the users mailboxes as currently as
> possible.
>
>> If you told us what's still there in your /var/lib/imap/

Okay, first as you suggested below, comment out the calls to
cvt_cyrusdb_all in the init script, both in start and stop function. I
don't know if that version of cvt_cyrusdb_all handles corrupt db files
correct, so it's safe to uncomment it, then do a backup of /var/lib/imap
and

>
> .
> ./sieve

remove ./db.backup2

> ./db.backup2
> ./db.backup2/mailboxes.db
> ./db.backup2/log.0000000017
> ./db.backup2/annotations.db

remove ./deliver.db

> ./deliver.db

remove ./db.backup1

> ./db.backup1
> ./db.backup1/mailboxes.db
> ./db.backup1/log.0000000017
> ./db.backup1/annotations.db
> ./quota

remove ./mailboxes.db

> ./mailboxes.db
> ./log
> ./log/shane
> ./log/shane/14936
> 	.... skipping a bunch of ./log/shane/ stuff ....
> ./socket
> ./socket/pop3-0.lock
> ./socket/pop3-1.lock
> ./socket/imap-1.lock
> ./socket/imap-0.lock
> ./socket/imaps-1.lock
> ./socket/pop3s-1.lock
> ./socket/idle
> ./socket/pop3s-0.lock
> ./socket/sieve-1.lock
> ./socket/imaps-0.lock
> ./socket/lmtpunix-0.lock
> ./socket/lmtp
> ./proc
> ./proc/8600
> 	.... skipping a bunch of ./proc/ stuff ....
> ./msg
> ./rpm
> ./rpm/cvt_cyrusdb_all.log

remove ./tls_sessions.db

> ./tls_sessions.db
> ./.viminfo

remove ./db/*   (not the directory)

> ./db
> ./db/__db.003
> ./db/skipstamp
> ./db/__db.005
> ./db/__db.002
> ./db/log.0000000017
> ./db/__db.001
> ./db/__db.004
> ./user
> ./user/s
> ./user/s/shane.seen
> ./user/s/shane.sub
> 	.... skipping a bunch of ./user/X/ stuff ....

remove ./annotations.db

> ./annotations.db
> ./backup
> ./backup/mboxlist.1.gz
> ./backup/mboxlist.gz
>

okay, now load a new ./mailboxes.db, then start cyrus and do the
reconstruct s to detect newly created mailboxes which are not in you
database.

Simon


More information about the Info-cyrus mailing list