ctl_cyrusdb questions, looking for answers
Adam Tauno Williams
awilliam at whitemice.org
Tue Mar 24 12:46:09 EDT 2009
On Tue, 2009-03-24 at 17:18 +0100, Michal Hlavinka wrote:
> Hi,
> thanks all for the answers. Some summary what I know (please correct me if I'm
> wrong):
> 1) checkpointing
> "Checkpointed" are this databases:
> but only DBs with Berkeley DB-Engine it does something. So really checkpointed
> are:
> tls_sessions.db
> deliver.db
> statuschache.db
> ptclient/ptscache.db
Incorrect, the Berkeley DBs will be checkpointed. What databases are in
which format is a site configuration issue.
> And checkpointing here only means sync and commit changes if there is a lot of
> them.
For Berkley DBs generally yes - for details see the Berkeley DB
documentation. Skiplist files do checkpoint [rewrite themselves] but
not related to the checkpoint interval in cyrus.conf
> 2)backuping
> Backuped are only this databases:
> mailboxes.db
> annotations.db
> quotas.db
> there is no need to backup deliver.db, statuscache.db, or tls_sessions.db.
> These can be rebuilt with no data loss.
> But what about ptclient/ptscache.db ?
ptscache.db can be discarded. It is only a "cache".
> 3) "real" backup
> when I want to create "real" backup (for example for hdd failure) I need to
> backup only
> mailboxes.db
> annotations.db
> quotas.db
> from /var/lib/imap (or from /var/lib/imap/db.backup1 ?) or something else?
I'd assume you also want user's SIEVE scripts.
> 4)check corrupted db
> There is no tool I can use to check if database is corrupted. I can only check
> logs for errors (will cyrus-imapd terminate or will it work with corrupted
> database - so I can easily miss the error in the logs?). Can I use chk_cyrus
> for this somehow?
You can export a database to a file format like flat. That is useful
for consistency checking and for backups.
> 5) ctl_cyrusdb -r
> I'm not completely sure what is effect of ctl_cyrusdb -r (it's executed always
> when cyrus-imap is starting)
> This means that not committed changes (everything after last ctl_cyrusdb -c )
> are thrown away? Or it's just check "everything is ok" ?
I believe this relates to Berkeley DB databases primarily.
More information about the Info-cyrus
mailing list