服务器从备份恢复后,cyrus imapd 损坏

服务器从备份恢复后,cyrus imapd 损坏

我必须从 24 小时前的备份中恢复正在运行 cyrus imapd 安装的虚拟服务器。此后,imap 客户端超时,日志中充斥着以下内容:

尾部/var/log/mail.info:

12 月 24 日 20:59:16 h2229778 cyrus/master[3570]: 服务通知 pid 10857 处于 READY 状态: 异常终止

十二月 24 20:59:16 h2229778 cyrus/master[3570]: 进程 10858 已退出,由 11 发出死亡信号

通过 init 脚本重新启动将得到以下结果:

./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。

非常感谢!

答案1

缺少锁文件表明 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 发行版中可能有所不同。

相关内容