rollback to archiving checkpoint? Need help!!

Michael Loftis mloftis at
Tue Apr 5 00:24:06 EDT 2005

--On Tuesday, April 05, 2005 5:38 AM +0200 Alex Meier <cornflake4 at> 

> (this is actually response to Jules Agee's posting as well, but as en
> email cannot have multiple addressees...)
>> I should also add the logs are not for rollback purposes, they're for
>> consistent recovery of the system to a known working state, IE to
>> recover  from unclean shutdowns.
> I understand that the logs are just for recovery purposes, but I'm
> wondering if I could use them for, let's say, simulating a crash and let
> the system do a "consistent recovery" which actually is a rollback. I am
> not sure if this is possible. Even if it is not very gentleman-like, it
> is very much an option because the damage in case of a complete data loss
> would be quite severe.
> So, I noticed that there are some log (?) files in the db directory,
> named __db.001 to __db.005, one of which has 18 MB:
> -rw-------    1 cyrus    mail         8192 2005-03-11 16:50 __db.001
> -rw-------    1 cyrus    mail       270336 2005-03-11 16:50 __db.002
> -rw-------    1 cyrus    mail        98304 2005-03-11 16:50 __db.003
> -rw-------    1 cyrus    mail     18563072 2005-03-11 16:50 __db.004
> -rw-------    1 cyrus    mail        32768 2005-03-11 16:50 __db.005
> -rw-------    1 cyrus    mail       211602 2005-04-05 04:56 log.0000000002
> -rw-------    1 cyrus    mail            4 2005-03-11 16:50 skipstamp
> Hm...I'm asking myself what the __db.004 would contain? 18 MB seem to be
> a little too much for just storing metadata - but could be, if the
> content of __db.XXX is never expunged but always appended.  [...5 mins
> later...] I just took a look at the __db.004 file and it seems not
> promising at all, for the majority of the 18 MB it seems to contain only
> a sequence of approx. 70 bytes (mostly null values), repeated over and
> over again.
> So to me this seems to be the only weak, distant glimpse of hope: IF the
> _db.XXX files contain mail bodies in some compressed/internal
> representation, it could be possible to extract them from there, at least
> most of them.

I just told you, they don't.  The only way you'll recover mail is with 
proper backups *or* forensic recovery on the drive/filesystem itself.

> Could there be a way to extract to extract the mail bodies from the
> __db.XXX files (for example by forcing the system into an inconsistent
> state so that cyrus uses its binary checkpoint and archiving files to
> recover) - or are the mail bodies _really_ just stored in the individual
> files (which have been definitely deleted) as Jules Agee pointed out?

No, being as there isn't any mail stored there.  The mail itself is all in 
the filesystem.

Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list