How to fix a corrupt duplicate DB?

Andrew Morgan morgan at
Fri Aug 3 12:55:33 EDT 2007

On Fri, 3 Aug 2007, Steinar Bang wrote:

>>>>>> Jukka Salmi <j+asg at>:
>> Steinar Bang --> info-cyrus (2007-08-03 15:27:55 +0200):
>>> I'm guessing my duplicate DB has become corrupted...?  Is there a way
>>> to regenerate it?  Is there a way to scrap it and start with a fresh
>>> database?
>> Stopping Cyrus, removing duplicate_db and starting Cyrus should do the
>> latter.
> Hm... there is no duplicate_db in /var/lib/cyrus/ ...?
> There is a deliver.db, and some google matches earlier today seemed to
> indicate that from v2 on of cyrus, the deliver and duplicate databases
> have been joined.
> What happens if I remove deliver.db?  Is it harmless?  Will I trash my
> cyrus installation for all future?
> deliver.db is dated Aug 1, and that's about when my problems started.

Stop Cyrus, then do the following:

mv deliver.db deliver.db.bak
mkdir db.bak
cp -p db/ db.bak/
rm db/*

Then start Cyrus.  Cyrus will recreate the deliver.db file.  deliver.db is 
used to track duplicate messages and to keep track of vacation days. 
Starting with a fresh deliver.db means that any vacation responders your 
users have set will be reset (senders may receive the vacation message 
again if they send to your user).  There is not much harm in this.


More information about the Info-cyrus mailing list