Cyrus - исправить использование квоты
У меня есть почтовая инфраструктура, работающая на Cyrus (2.5.10), Postfix (2.7.1) и Perdition (1.19).
В последнее время многие пользователи жалуются на неправильное отображение их квоты.
При попытке решить эту проблему с помощью quota -f команда вернула Системную ошибку ввода-вывода из-за отсутствия некоторых недействительных почтовых ящиков, которые даже не перечислены в ctl_mboxlist -d, таких как: '' (пустая строка) и 'DELETED.user.teste3cyrus.5A902111EFJulho 2017.5B2E7DCF4DE7725F3314'.
Вот полный вывод команды:
Не удалось открыть заголовок для почтового ящика 'domain.com!DELETED.user.teste3cyrus.5A902111EFJulho 2017.5B2E7DCF4DE7725F3314': Ошибка системного ввода-вывода: нет такого списка mbox для обработки файлов или каталогов для '': Ошибка системного ввода-вывода: Нет такого файла или каталога
Может ли кто-нибудь, кто когда-либо сталкивался с чем-то подобным, помочь мне?
PS: Я пытался найти способ исправить квоту одного почтового ящика, но безуспешно. В документах команды quota указано только то, что можно использовать префикс почтового ящика, но шаблон для этого не отображается. Я пробовал user/mailbox-name@domain.com, mailbox-name@domain.com, mailbox-name, но ни один из них не работал.
2 ответа
Пожалуйста, дайте версию, потому что Сайрус довольно сильно изменился.
Сказав это, я предлагаю сначала восстановить, который должен найти эти сломанные УДАЛЕННЫЕ почтовые ящики и сделать их правильно существующими. Я бы также использовал cyr_expire для очистки.
Что касается того, как вы попали в это состояние... Я не знаю. Пахнет, как будто вы сделали что-то вроде перемещения файловых систем или сброса и восстановления mailboxes.db без синхронизации остальной системы.
Наконец-то получил некоторый прогресс. Фактическая проблема была из-за отсутствия папки на уровне файловой системы. Папка была помечена для последующего удаления, но она может быть удалена вручную, прежде чем Cyrus сможет удалить ее.
С тех пор каждый раз, когда Cyrus пытался удалить почтовые ящики и сообщения для всех пользователей, он сталкивался с Системной ошибкой ввода-вывода, вызванной отсутствующей папкой, и поэтому некоторые пользователи не могли избавиться от своих нежелательных сообщений.
Решил проблему, воссоздав и предоставив право собственности на папку миссии:
# mkdir /partition/domain/d/domain.com/t/user/teste3cyrus
# chwon -R cyrus:mail /partition/domain/d/domain.com/t/user/teste3cyrus
восстановление его файлов метаданных:
# su cyrus -c "/usr/lib/cyrus/bin/reconstruct -rfx DELETED/user/teste3cyrus@domain.com"
и затем удаляем его навсегда:
# su cyrus -c "/usr/sbin/cyrus expire -E 0 -D 0 -X 0 -p DELETED.user.teste3cyrus -v"
Такая же проблема произошла на другом почтовом ящике. Я повторил те же действия, что и выше, и я мог бы исправить использование квоты для всех пользователей с помощью:
# su cyrus -c "/usr/lib/cyrus/bin/quota -f"