I backup Cyrus with the following method: 1. Stop MySQL (used for login/alias etc) 2. Create a filesystem snapshot of the volume mail is stored on in LVM2 3. Restart MySQL (down for all of 5 seconds) 4. Backup /var/spool/imap/* /var/lib/imap/* (and a few other things) from the snapshot. 5. Release the snapshot.
That way I have a consistent state and the DB files are all in sync. If I need to do a full restore I just put the files back. In the case I needed to restore one email I put that back and do a reconstruct on the mail folder. Works pretty well. /var/lib/imap isn't very big so it's not a big deal to just back it all up. That way you've got sieve filters, seen state, etc... in one place. Derek Yarnell said: > So my understanding of the backup procedures of cyrus imapd are, > > (I am running on RHEL4 built in version of cyrus-imapd 2.2.12) > > 1) backup /var/spool/imap (or all the actual message stores, there are no BerkleyDB's in here so they can be backed up normally?) > > 2) backup /var/lib/imap/sieve, /var/lib/imap/quota and > /var/lib/imap/user which are all non DB so they can too be backed up normally. > > 3) berkleyDB dump > /var/lib/imap/{mailboxes.db|annotations.db|deliever.db} and get them backed up. > > 4) what about /var/lib/imap/db directory? what is it doing exactly, i can not find this directory in the docs? > > Now when I restore, it is a bit fuzzy on this, I can just restore the stuff from #1 in the same place as it existed before and then run reconstruct? > > What about restoring the rest? just db_load the DB files? > > Thanks for any help. > > -- > --- > Derek T. Yarnell > University of Maryland > Institute for Advanced Computer Studies > [EMAIL PROTECTED] > > --- > Cyrus Home Page: http://asg.web.cmu.edu/cyrus > Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu > List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html > > --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html