« | На главную | »

DB_RUNRECOVERY (Если почты под рукой не будет)


У cyrus (например при некорректном завершении) могут слетать пермиссии на файлы в папке

/var/imap/db

Понять это можно по словам в логе (system.log)

Dec 26 13:08:56 mahler mbpath[8485]: DBERROR: init() on berkeley
Dec 26 13:08:56 mahler mbpath[8485]: DBERROR db4: environment not yet opened
Dec 26 13:08:56 mahler mbpath[8485]: DBERROR: opening /var/imap/mailboxes.db: Invalid argument
Dec 26 13:08:56 mahler mbpath[8485]: DBERROR: opening /var/imap/mailboxes.db: cyrusdb error
Dec 26 13:08:56 mahler mbpath[8486]: DBERROR db4: fatal region error detected; run recovery
Dec 26 13:08:56 mahler mbpath[8486]: DBERROR: dbenv->open ‘/var/imap/db’ failed: DB_RUNRECOVERY: Fatal error, run database recovery

Рекаверить (
$ su root
# mv /var/imap /var/imap.old
# mkdir /var/imap
# /usr/bin/cyrus/tools/mkimap
# chown -R cyrus:mail /var/imap
# sudo -u cyrus /usr/bin/cyrus/bin/reconstruct -i
)

ничего не нужно!

Для начала следует проверить права доступа:

[mahler:/var/log] root# ls -al /var/imap/db
total 52416
drwxr-xr-x 10 cyrus mail 340 26 Dec 13:08 .
drwxr-xr-x 15 cyrus mail 510 26 Dec 13:18 ..
-rw——- 1 cyrus mail 8192 26 Dec 13:08 __db.001
-rw——- 1 cyrus mail 663552 26 Dec 13:08 __db.002
-rw——- 1 cyrus mail 98304 26 Dec 13:08 __db.003
-rw——- 1 cyrus mail 18563072 26 Dec 13:08 __db.004
-rw——- 1 root mail 32768 26 Dec 13:08 __db.005
-rw-r–r– 1 cyrus mail 0 31 May 2005 log.0000000001
-rw——- 1 cyrus mail 7464789 26 Dec 13:08 log.0000000065
-rw——- 1 cyrus mail 4 26 Dec 08:13 skipstamp

и исправить:

chown cyrus:mail __db.005 (или все файлы в каталоге)

Комментариев: 1

Всё хорошо. Но папки, они на полке, а у компьютера это директории, как ни крути.

Оставить комментарий