Мне пришлось восстановить vserver с запущенной установкой cyrus imapd из 24-часовой резервной копии. После этого время ожидания клиентов imap истекает, и журнал заполняется следующей информацией:
хвост /var/log/mail.info:
24 декабря 20:59:16 h2229778 cyrus / master [3570]: pid уведомления службы 10857 в состоянии READY: аварийное завершение
24 декабря 20:59:16 h2229778 cyrus / master [3570]: процесс 10858 завершен, сигнал смерти 11
Перезапуск через сценарий инициализации дает следующее:
./cyrus-imapd restart
* Restarting Cyrus IMAPd cyrmaster
find: /run/cyrus/lock': No such file or directory
find: /run/cyrus/proc': No such file or directory
без изменения поведения.
Я нашел много сообщений для обеих цитат, но мало что связано с моей проблемой. Однако я подозреваю, что одна из баз данных cyrus была повреждена.
Может в этом проблема?
Как я могу определить настоящую причину?
Если это проблема с базой данных, как я могу их правильно восстановить?
Я использую cyrus 2.4.12-2.
Большое спасибо!
Отсутствие файлов блокировки указывает на то, что cyrus не работает, возможно, база данных повреждена.
Вы можете попробовать восстановить БД, используя:
sudo -u cyrus ctl_cyrusdb -r
Он не показывает никаких результатов, вы можете открыть tail -f для syslog, чтобы увидеть, что происходит.
Если это не удается, вы можете попробовать удалить / var / lib / cyrus / db / * и снова выполнить ту же команду.
Хорошая идея - создать резервную копию всех пользователей в текстовом файле, вы можете сделать это с помощью этой команды:
sudo -u cyrus /usr/sbin/ctl_mboxlist -d > /tmp/mboxlist.txt
Вы можете воссоздать пользовательскую БД из этого файла позже, используя:
cat /root/mboxlist.txt | sudo -u cyrus /usr/lib/cyrus/bin/ctl_mboxlist -u
Примечание. Все пути указаны для Debian, в других дистрибутивах Linux они могут отличаться.