Hello,
after rebooting my dovecot server quotas are no longer working.
# dovecot --version
2.2.10
CentOS Linux release 7.0.1406
It is strange that restarting dovecot did not reveal this problem, but rebooting
whole server did.
Before reboot it was like this:
# doveadm -D quota get -u test1 at testdomain1.tld
doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot
doveadm(root): Debug: Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so
doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot/doveadm
03NB0d9erYBwhnzXhbS66fLDMU8v4ZiCDQDM3tDHCKme4ujpHy/lRk33305AIO9UXtgHGFyJYSpcVgoVnXJQGpJBphGvkAF4XI1JGx83Dtlb44wgJ8ZBgOm4qSNOoQIXKv0NO35EwUohtYBMlDJKPRUTwRF93tW7RsfWZGVNi4Eo5k616Tn4ooU3JMXkQA8LZ5zzLllspBVDbyb4GPAmWiw==
root at ovzcloud
doveadm(root): Debug: Skipping module doveadm_acl_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so: undefined
symbol: acl_user_module (this is usually intentional, so just ignore this
message)
doveadm(root): Debug: Skipping module doveadm_expire_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so: undefined
symbol: expire_set_deinit (this is usually intentional, so just ignore this
message)
doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
doveadm(root): Debug: Skipping module doveadm_fts_lucene_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so:
undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just
ignore this message)
doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined
symbol: fts_backend_rescan (this is usually intentional, so just ignore this
message)
doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota=maildir:storage=512000000
doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota_rule=*:bytes=512000000
doveadm(test1 at testdomain1.tld): Debug: Effective uid=997, gid=996,
home=/home/vmail/t/e/testdomain1.tld/test1/
doveadm(test1 at testdomain1.tld): Debug: Quota root: name=storage=512000000
backend=maildir argsdoveadm(test1 at testdomain1.tld): Debug: Quota rule:
root=storage=512000000 mailbox=* bytes=512000000 messages=0
doveadm(test1 at testdomain1.tld): Debug: Quota warning: bytes=486400000 (95%)
messages=0 reverse=no command=quota-warning 95 test1 at testdomain1.tld
doveadm(test1 at testdomain1.tld): Debug: Quota warning: bytes=409600000 (80%)
messages=0 reverse=no command=quota-warning 80 test1 at testdomain1.tld
doveadm(test1 at testdomain1.tld): Debug: Quota grace: root=storage=512000000
bytes=25600000 (5%)
doveadm(test1 at testdomain1.tld): Debug: Namespace inbox: type=private,
prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir:/home/vmail/t/e/testdomain1.tld/test1/
doveadm(test1 at testdomain1.tld): Debug: maildir++:
root=/home/vmail/t/e/testdomain1.tld/test1, index=, indexpvt=, control=,
inbox=/home/vmail/t/e/testdomain1.tld/test1, altdoveadm(test1 at
testdomain1.tld): Debug: Namespace : type=private, prefix=, sep=, inbox=no,
hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none
doveadm(test1 at testdomain1.tld): Debug: none: root=, index=, indexpvt=,
control=, inbox=, altQuota name Type Value Limit
%
storage=512000000 STORAGE 0 500000
0
storage=512000000 MESSAGE 0 -
Now after rebooting i get this output:
# doveadm -D quota get -u test1 at testdomain1.tld
doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot
doveadm(root): Debug: Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so
doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot/doveadm
doveadm(root): Debug: Skipping module doveadm_acl_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so: undefined
symbol: acl_user_module (this is usually intentional, so just ignore this
message)
doveadm(root): Debug: Skipping module doveadm_expire_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so: undefined
symbol: expire_set_deinit (this is usually intentional, so just ignore this
message)
doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
doveadm(root): Debug: Skipping module doveadm_fts_lucene_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so:
undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just
ignore this message)
doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined
symbol: fts_backend_rescan (this is usually intentional, so just ignore this
message)
doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota=maildir:storage=512000000
doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota_rule=*:bytes=512000000
doveadm(test1 at testdomain1.tld): Debug: Effective uid=997, gid=996,
home=/home/vmail/t/e/testdomain1.tld/test1/
doveadm(test1 at testdomain1.tld): Debug: Namespace inbox: type=private,
prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir:/home/vmail/t/e/testdomain1.tld/test1/
doveadm(test1 at testdomain1.tld): Debug: maildir++:
root=/home/vmail/t/e/testdomain1.tld/test1, index=, indexpvt=, control=,
inbox=/home/vmail/t/e/testdomain1.tld/test1, altdoveadm(test1 at
testdomain1.tld): Debug: Namespace : type=private, prefix=POP3-MIGRATION-NS/,
sep=, inbox=no, hidden=yes, list=no, subscriptions=yes location=pop3c:
doveadm(test1 at testdomain1.tld): Debug: fs: root=, index=, indexpvt=,
control=, inbox=, altdoveadm(test1 at testdomain1.tld): Debug: Namespace :
type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no
location=fail::LAYOUT=none
doveadm(test1 at testdomain1.tld): Debug: none: root=, index=, indexpvt=,
control=, inbox=, altdoveadm(test1 at testdomain1.tld): Error: Quota not enabled
Quota name Type Value Limit
%
# egrep -v "^#|^$" /etc/dovecot/conf.d/90-quota.conf
plugin {
quota = maildir
#quota_rule = *:storage=1G
#quota_rule2 = Trash:storage=+100M
# LDA/LMTP allows saving the last mail to bring user from under quota to
# over quota, if the quota doesn't grow too high. Default is to allow as
# long as quota will stay under 10% above the limit. Also allowed e.g. 10M.
#quota_grace = 10%%
quota_grace = 5%%
quota_status_success = DUNNO
quota_status_nouser = DUNNO
quota_status_overquota = "552 5.2.2 Mailbox is full"
}
plugin {
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
}
plugin {
#quota = dirsize:User quota
#quota = maildir:User quota
#quota = dict:User quota::proxy::quota
#quota = fs:User quota
}
plugin {
#quota = dict:user::proxy::quota
#quota2 = dict:domain:%d:proxy::quota_domain
#quota_rule = *:storage=102400
#quota2_rule = *:storage=1048576
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
user = dovecot
unix_listener quota-warning {
user = vmail
}
}
service quota-status {
executable = quota-status -p postfix
inet_listener {
port = 12340
# You can choose any port you want
}
client_limit = 1
}
By the way, my quotas are configured to use SQL:
user_query = SELECT CONCAT('/home/vmail/', maildir) AS home, 997 AS uid,
996 AS gid, CONCAT('*:bytes=', quota) AS quota_rule,
CONCAT('maildir:storage=', quota) AS quota FROM mailbox WHERE username =
LOWER('%u') AND active = '1' AND suspended = ?0'
And when I run command "doveadm -D quota get -u test1 at testdomain1.tld? i
see In MySQL query log that query is sent.
On 28 Apr 2015, at 12:00, Edgaras Luko?evi?ius <edgaras.lukosevicius at
gmail.com> wrote:
> Hello,
>
> after rebooting my dovecot server quotas are no longer working.
>
> # dovecot --version
> 2.2.10
>
> CentOS Linux release 7.0.1406
>
> It is strange that restarting dovecot did not reveal this problem, but
rebooting whole server did.
>
>
>
> Before reboot it was like this:
>
> # doveadm -D quota get -u test1 at testdomain1.tld
> doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot
> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/lib10_quota_plugin.so
> doveadm(root): Debug: Loading modules from directory:
/usr/lib64/dovecot/doveadm
>
03NB0d9erYBwhnzXhbS66fLDMU8v4ZiCDQDM3tDHCKme4ujpHy/lRk33305AIO9UXtgHGFyJYSpcVgoVnXJQGpJBphGvkAF4XI1JGx83Dtlb44wgJ8ZBgOm4qSNOoQIXKv0NO35EwUohtYBMlDJKPRUTwRF93tW7RsfWZGVNi4Eo5k616Tn4ooU3JMXkQA8LZ5zzLllspBVDbyb4GPAmWiw==
root at ovzcloud
> doveadm(root): Debug: Skipping module doveadm_acl_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so: undefined
symbol: acl_user_module (this is usually intentional, so just ignore this
message)
> doveadm(root): Debug: Skipping module doveadm_expire_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so:
undefined symbol: expire_set_deinit (this is usually intentional, so just ignore
this message)
> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
> doveadm(root): Debug: Skipping module doveadm_fts_lucene_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so:
undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just
ignore this message)
> doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined
symbol: fts_backend_rescan (this is usually intentional, so just ignore this
message)
> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota=maildir:storage=512000000
> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota_rule=*:bytes=512000000
> doveadm(test1 at testdomain1.tld): Debug: Effective uid=997, gid=996,
home=/home/vmail/t/e/testdomain1.tld/test1/
> doveadm(test1 at testdomain1.tld): Debug: Quota root:
name=storage=512000000 backend=maildir args> doveadm(test1 at
testdomain1.tld): Debug: Quota rule: root=storage=512000000 mailbox=*
bytes=512000000 messages=0
> doveadm(test1 at testdomain1.tld): Debug: Quota warning: bytes=486400000
(95%) messages=0 reverse=no command=quota-warning 95 test1 at testdomain1.tld
> doveadm(test1 at testdomain1.tld): Debug: Quota warning: bytes=409600000
(80%) messages=0 reverse=no command=quota-warning 80 test1 at testdomain1.tld
> doveadm(test1 at testdomain1.tld): Debug: Quota grace:
root=storage=512000000 bytes=25600000 (5%)
> doveadm(test1 at testdomain1.tld): Debug: Namespace inbox: type=private,
prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir:/home/vmail/t/e/testdomain1.tld/test1/
> doveadm(test1 at testdomain1.tld): Debug: maildir++:
root=/home/vmail/t/e/testdomain1.tld/test1, index=, indexpvt=, control=,
inbox=/home/vmail/t/e/testdomain1.tld/test1, alt> doveadm(test1 at
testdomain1.tld): Debug: Namespace : type=private, prefix=, sep=, inbox=no,
hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none
> doveadm(test1 at testdomain1.tld): Debug: none: root=, index=, indexpvt=,
control=, inbox=, alt> Quota name Type Value Limit
%
> storage=512000000 STORAGE 0 500000
0
> storage=512000000 MESSAGE 0 -
>
>
>
> Now after rebooting i get this output:
>
> # doveadm -D quota get -u test1 at testdomain1.tld
> doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot
> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/lib10_quota_plugin.so
> doveadm(root): Debug: Loading modules from directory:
/usr/lib64/dovecot/doveadm
> doveadm(root): Debug: Skipping module doveadm_acl_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so: undefined
symbol: acl_user_module (this is usually intentional, so just ignore this
message)
> doveadm(root): Debug: Skipping module doveadm_expire_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so:
undefined symbol: expire_set_deinit (this is usually intentional, so just ignore
this message)
> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
> doveadm(root): Debug: Skipping module doveadm_fts_lucene_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so:
undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just
ignore this message)
> doveadm(root): Debug: Skipping module doveadm_fts_plugin, because dlopen()
failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined
symbol: fts_backend_rescan (this is usually intentional, so just ignore this
message)
> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota=maildir:storage=512000000
> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota_rule=*:bytes=512000000
> doveadm(test1 at testdomain1.tld): Debug: Effective uid=997, gid=996,
home=/home/vmail/t/e/testdomain1.tld/test1/
> doveadm(test1 at testdomain1.tld): Debug: Namespace inbox: type=private,
prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir:/home/vmail/t/e/testdomain1.tld/test1/
> doveadm(test1 at testdomain1.tld): Debug: maildir++:
root=/home/vmail/t/e/testdomain1.tld/test1, index=, indexpvt=, control=,
inbox=/home/vmail/t/e/testdomain1.tld/test1, alt> doveadm(test1 at
testdomain1.tld): Debug: Namespace : type=private, prefix=POP3-MIGRATION-NS/,
sep=, inbox=no, hidden=yes, list=no, subscriptions=yes location=pop3c:
> doveadm(test1 at testdomain1.tld): Debug: fs: root=, index=, indexpvt=,
control=, inbox=, alt> doveadm(test1 at testdomain1.tld): Debug: Namespace :
type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no
location=fail::LAYOUT=none
> doveadm(test1 at testdomain1.tld): Debug: none: root=, index=, indexpvt=,
control=, inbox=, alt> doveadm(test1 at testdomain1.tld): Error: Quota not
enabled
> Quota name Type Value Limit
%
>
>
>
>
> # egrep -v "^#|^$" /etc/dovecot/conf.d/90-quota.conf
> plugin {
> quota = maildir
> #quota_rule = *:storage=1G
> #quota_rule2 = Trash:storage=+100M
> # LDA/LMTP allows saving the last mail to bring user from under quota to
> # over quota, if the quota doesn't grow too high. Default is to allow
as
> # long as quota will stay under 10% above the limit. Also allowed e.g.
10M.
> #quota_grace = 10%%
> quota_grace = 5%%
> quota_status_success = DUNNO
> quota_status_nouser = DUNNO
> quota_status_overquota = "552 5.2.2 Mailbox is full"
> }
> plugin {
> quota_warning = storage=95%% quota-warning 95 %u
> quota_warning2 = storage=80%% quota-warning 80 %u
> }
> plugin {
> #quota = dirsize:User quota
> #quota = maildir:User quota
> #quota = dict:User quota::proxy::quota
> #quota = fs:User quota
> }
> plugin {
> #quota = dict:user::proxy::quota
> #quota2 = dict:domain:%d:proxy::quota_domain
> #quota_rule = *:storage=102400
> #quota2_rule = *:storage=1048576
> }
> service quota-warning {
> executable = script /usr/local/bin/quota-warning.sh
> user = dovecot
> unix_listener quota-warning {
> user = vmail
> }
> }
> service quota-status {
> executable = quota-status -p postfix
> inet_listener {
> port = 12340
> # You can choose any port you want
> }
> client_limit = 1
> }
Aaaand... fixed.
quota plugin was disabled in doveadm protocol as in:
protocol doveadm {
#mail_plugins = $mail_plugins pop3_migration
mail_plugins = pop3_migration
}
Added ?quota' to mail_plugins
Now I don?t know why that wasn?t a problem after issuing ?systemctl restart
dovecot?, but at least it works now.
On 28 Apr 2015, at 14:25, Edgaras Luko?evi?ius <edgaras.lukosevicius at
gmail.com> wrote:
> By the way, my quotas are configured to use SQL:
> user_query = SELECT CONCAT('/home/vmail/', maildir) AS home, 997 AS
uid, 996 AS gid, CONCAT('*:bytes=', quota) AS quota_rule,
CONCAT('maildir:storage=', quota) AS quota FROM mailbox WHERE username =
LOWER('%u') AND active = '1' AND suspended = ?0'
>
> And when I run command "doveadm -D quota get -u test1 at
testdomain1.tld? i see In MySQL query log that query is sent.
>
>
> On 28 Apr 2015, at 12:00, Edgaras Luko?evi?ius <edgaras.lukosevicius at
gmail.com> wrote:
>
>> Hello,
>>
>> after rebooting my dovecot server quotas are no longer working.
>>
>> # dovecot --version
>> 2.2.10
>>
>> CentOS Linux release 7.0.1406
>>
>> It is strange that restarting dovecot did not reveal this problem, but
rebooting whole server did.
>>
>>
>>
>> Before reboot it was like this:
>>
>> # doveadm -D quota get -u test1 at testdomain1.tld
>> doveadm(root): Debug: Loading modules from directory:
/usr/lib64/dovecot
>> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/lib10_quota_plugin.so
>> doveadm(root): Debug: Loading modules from directory:
/usr/lib64/dovecot/doveadm
>>
03NB0d9erYBwhnzXhbS66fLDMU8v4ZiCDQDM3tDHCKme4ujpHy/lRk33305AIO9UXtgHGFyJYSpcVgoVnXJQGpJBphGvkAF4XI1JGx83Dtlb44wgJ8ZBgOm4qSNOoQIXKv0NO35EwUohtYBMlDJKPRUTwRF93tW7RsfWZGVNi4Eo5k616Tn4ooU3JMXkQA8LZ5zzLllspBVDbyb4GPAmWiw==
root at ovzcloud
>> doveadm(root): Debug: Skipping module doveadm_acl_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so:
undefined symbol: acl_user_module (this is usually intentional, so just ignore
this message)
>> doveadm(root): Debug: Skipping module doveadm_expire_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so:
undefined symbol: expire_set_deinit (this is usually intentional, so just ignore
this message)
>> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
>> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
>> doveadm(root): Debug: Skipping module doveadm_fts_lucene_plugin,
because dlopen() failed:
/usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol:
lucene_index_iter_deinit (this is usually intentional, so just ignore this
message)
>> doveadm(root): Debug: Skipping module doveadm_fts_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so:
undefined symbol: fts_backend_rescan (this is usually intentional, so just
ignore this message)
>> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota=maildir:storage=512000000
>> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota_rule=*:bytes=512000000
>> doveadm(test1 at testdomain1.tld): Debug: Effective uid=997, gid=996,
home=/home/vmail/t/e/testdomain1.tld/test1/
>> doveadm(test1 at testdomain1.tld): Debug: Quota root:
name=storage=512000000 backend=maildir args>> doveadm(test1 at
testdomain1.tld): Debug: Quota rule: root=storage=512000000 mailbox=*
bytes=512000000 messages=0
>> doveadm(test1 at testdomain1.tld): Debug: Quota warning:
bytes=486400000 (95%) messages=0 reverse=no command=quota-warning 95 test1 at
testdomain1.tld
>> doveadm(test1 at testdomain1.tld): Debug: Quota warning:
bytes=409600000 (80%) messages=0 reverse=no command=quota-warning 80 test1 at
testdomain1.tld
>> doveadm(test1 at testdomain1.tld): Debug: Quota grace:
root=storage=512000000 bytes=25600000 (5%)
>> doveadm(test1 at testdomain1.tld): Debug: Namespace inbox:
type=private, prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes,
subscriptions=yes location=maildir:/home/vmail/t/e/testdomain1.tld/test1/
>> doveadm(test1 at testdomain1.tld): Debug: maildir++:
root=/home/vmail/t/e/testdomain1.tld/test1, index=, indexpvt=, control=,
inbox=/home/vmail/t/e/testdomain1.tld/test1, alt>> doveadm(test1 at
testdomain1.tld): Debug: Namespace : type=private, prefix=, sep=, inbox=no,
hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none
>> doveadm(test1 at testdomain1.tld): Debug: none: root=, index=,
indexpvt=, control=, inbox=, alt>> Quota name Type Value Limit
%
>> storage=512000000 STORAGE 0 500000
0
>> storage=512000000 MESSAGE 0 -
>>
>>
>>
>> Now after rebooting i get this output:
>>
>> # doveadm -D quota get -u test1 at testdomain1.tld
>> doveadm(root): Debug: Loading modules from directory:
/usr/lib64/dovecot
>> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/lib10_quota_plugin.so
>> doveadm(root): Debug: Loading modules from directory:
/usr/lib64/dovecot/doveadm
>> doveadm(root): Debug: Skipping module doveadm_acl_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so:
undefined symbol: acl_user_module (this is usually intentional, so just ignore
this message)
>> doveadm(root): Debug: Skipping module doveadm_expire_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so:
undefined symbol: expire_set_deinit (this is usually intentional, so just ignore
this message)
>> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
>> doveadm(root): Debug: Module loaded:
/usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
>> doveadm(root): Debug: Skipping module doveadm_fts_lucene_plugin,
because dlopen() failed:
/usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol:
lucene_index_iter_deinit (this is usually intentional, so just ignore this
message)
>> doveadm(root): Debug: Skipping module doveadm_fts_plugin, because
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so:
undefined symbol: fts_backend_rescan (this is usually intentional, so just
ignore this message)
>> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota=maildir:storage=512000000
>> doveadm(test1 at testdomain1.tld): Debug: Added userdb setting:
plugin/quota_rule=*:bytes=512000000
>> doveadm(test1 at testdomain1.tld): Debug: Effective uid=997, gid=996,
home=/home/vmail/t/e/testdomain1.tld/test1/
>> doveadm(test1 at testdomain1.tld): Debug: Namespace inbox:
type=private, prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes,
subscriptions=yes location=maildir:/home/vmail/t/e/testdomain1.tld/test1/
>> doveadm(test1 at testdomain1.tld): Debug: maildir++:
root=/home/vmail/t/e/testdomain1.tld/test1, index=, indexpvt=, control=,
inbox=/home/vmail/t/e/testdomain1.tld/test1, alt>> doveadm(test1 at
testdomain1.tld): Debug: Namespace : type=private, prefix=POP3-MIGRATION-NS/,
sep=, inbox=no, hidden=yes, list=no, subscriptions=yes location=pop3c:
>> doveadm(test1 at testdomain1.tld): Debug: fs: root=, index=, indexpvt=,
control=, inbox=, alt>> doveadm(test1 at testdomain1.tld): Debug:
Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no,
subscriptions=no location=fail::LAYOUT=none
>> doveadm(test1 at testdomain1.tld): Debug: none: root=, index=,
indexpvt=, control=, inbox=, alt>> doveadm(test1 at testdomain1.tld):
Error: Quota not enabled
>> Quota name Type Value Limit
%
>>
>>
>>
>>
>> # egrep -v "^#|^$" /etc/dovecot/conf.d/90-quota.conf
>> plugin {
>> quota = maildir
>> #quota_rule = *:storage=1G
>> #quota_rule2 = Trash:storage=+100M
>> # LDA/LMTP allows saving the last mail to bring user from under quota
to
>> # over quota, if the quota doesn't grow too high. Default is to
allow as
>> # long as quota will stay under 10% above the limit. Also allowed e.g.
10M.
>> #quota_grace = 10%%
>> quota_grace = 5%%
>> quota_status_success = DUNNO
>> quota_status_nouser = DUNNO
>> quota_status_overquota = "552 5.2.2 Mailbox is full"
>> }
>> plugin {
>> quota_warning = storage=95%% quota-warning 95 %u
>> quota_warning2 = storage=80%% quota-warning 80 %u
>> }
>> plugin {
>> #quota = dirsize:User quota
>> #quota = maildir:User quota
>> #quota = dict:User quota::proxy::quota
>> #quota = fs:User quota
>> }
>> plugin {
>> #quota = dict:user::proxy::quota
>> #quota2 = dict:domain:%d:proxy::quota_domain
>> #quota_rule = *:storage=102400
>> #quota2_rule = *:storage=1048576
>> }
>> service quota-warning {
>> executable = script /usr/local/bin/quota-warning.sh
>> user = dovecot
>> unix_listener quota-warning {
>> user = vmail
>> }
>> }
>> service quota-status {
>> executable = quota-status -p postfix
>> inet_listener {
>> port = 12340
>> # You can choose any port you want
>> }
>> client_limit = 1
>> }
>