Страница 1 из 1

Exim 4.7: не срабатывает квота

Добавлено: 2013-09-20 11:31:14
fakeroot
Помогите, пожалуйста, найти ошибку в конфиге с квотированием.

Требуется реализовать два вида квоты: квота на ящик и общая квота на домен. Квота на ящик – обычная квота из файла maildirsize. Квота на домен – задана в mysql-таблице domains, в поле quota. Суммарный текущий размер почты всех ящиков хранится в поле size, также в таблице domains.

Квота на ящик работает корректно, а раутер с квотой на домен (virtual_domain_quota_defer) по какой то неведомой причине не срабатывает ((

Сконфигурено всё следующим образом (конфиг, в целом, доработан по статье на сайте):

Код: Выделить всё

# Определяем квоту для ящика
GET_QUOTA=${lookup mysql{SELECT quota FROM users \
           WHERE login='${local_part}' AND domain='${domain}'}{${value}M}}

MAILDIR_SIZE=${eval:${sg{${sg{${readfile{/var/exim/$domain/$local_part/maildirsize} {\n}}}{\N^.+?\n\N}{}}}{\N(?s)\s+-?\d+\n\N}{+}}0+500K}

# Определяем квоту для домена
GET_DOMAIN_QUOTA=${lookup mysql{SELECT quota FROM domains WHERE domain='${domain}'}{$value}fail}
# Текущий суммарный размер всех ящиков в домене
DOMAIN_SIZE=${lookup mysql{SELECT size FROM domains WHERE domain='${domain}'}{$value}fail}
Определения раутеров:

Код: Выделить всё

virtual_user_quota_defer:
  driver          = redirect
  domains         = +local_domains
  condition       = ${if and{\
                    {exists{/var/mail/$domain/$local_part}}\
                    {exists{/var/mail/$domain/$local_part/maildirsize}}\
                    {>{GET_QUOTA}{0}}\
                    {>={MAILDIR_SIZE}{GET_QUOTA}}\
                    } }
  data            = :fail: Over quota!
  verify_sender = false
  allow_fail

# Квота для домена (не срабатывает!)
virtual_domain_quota_defer:
  driver          = redirect
  domains         = +local_domains
  condition       = ${if and{\
                    {>{GET_DOMAIN_QUOTA}{0}}\
                    {>={DOMAIN_SIZE}{GET_DOMAIN_QUOTA}}\
                    } }
  data            = :fail: Over quota for domain!
  verify_sender = false
  allow_fail

Re: Exim 4.7: не срабатывает квота

Добавлено: 2014-01-30 22:50:47
Alex Keda
а в табличку-то размеры всех ящиков кладёте хоть?
--
вообще, по -d+all такие вещщи просто сказочно дебажатся