On 2/12/19 1:03 PM, Aki Tuomi via dovecot wrote:>> On 12 February 2019 at 19:55 Robert Moskowitz via dovecot <dovecot at dovecot.org> wrote: >> >> >> >> >> On 2/12/19 12:38 PM, Aki Tuomi via dovecot wrote: >>>> On 12 February 2019 at 18:23 Robert Moskowitz via dovecot <dovecot at dovecot.org> wrote: >>>> >>>> >>>> Does dovecot compute that values for quota2 with each email it updates >>>> for the user?? Or only an incremental change? >>>> >>>> I ask because I am looking at migrating all the user mail from the old >>>> server to the new and building a new sql database.? All I see is: >>>> >>>> dovecot-dict-sql.conf.ext: connect = host=/var/lib/mysql/mysql.sock >>>> dbname=postfix user=postfix password=$Postfix_Database_Password map { >>>> pattern = priv/quota/storage table = quota2 username_field = username >>>> value_field = bytes } map { pattern = priv/quota/messages table = quota2 >>>> username_field = username value_field = messages } >>>> >>>> >>>> what is actually done with this table? >>>> >>>> thanks >>>> >>>> >>>> >>>> >>>> >>> dict-sql converts the mappings into SQL statements. >> But does dovecot check out the current bytes used and # of messages and >> resets quota2, or only uses this latest operation (add message, delete >> message...) to adjust quota2? >> >> If the later how to reset quota2 to the current reality? >> >> thanks >> > Dovecot keeps the quota current, although dict quota has been known to be bit bad at this. > > We nowadays recommend using count quota instead and use quota_clone to copy the quota state to database. It is more accurate.And how is this recommendation implemented? All I have are my old notes and what google is finding for me... Please give me some pointers. thanks
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div>
<br>
</div>
<blockquote type="cite">
<div>
On 12 February 2019 at 20:52 Robert Moskowitz via dovecot <
<a
href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a>>
wrote:
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
On 2/12/19 1:03 PM, Aki Tuomi via dovecot wrote:
</div>
<div>
>> On 12 February 2019 at 19:55 Robert Moskowitz via dovecot <
<a
href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a>>
wrote:
</div>
<div>
>>
</div>
<div>
>>
</div>
<div>
>>
</div>
<div>
>>
</div>
<div>
>> On 2/12/19 12:38 PM, Aki Tuomi via dovecot wrote:
</div>
<div>
>>>> On 12 February 2019 at 18:23 Robert Moskowitz via dovecot
<
<a
href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a>>
wrote:
</div>
<div>
>>>>
</div>
<div>
>>>>
</div>
<div>
>>>> Does dovecot compute that values for quota2 with each email
it updates
</div>
<div>
>>>> for the user? Or only an incremental change?
</div>
<div>
>>>>
</div>
<div>
>>>> I ask because I am looking at migrating all the user mail
from the old
</div>
<div>
>>>> server to the new and building a new sql database. All I
see is:
</div>
<div>
>>>>
</div>
<div>
>>>> dovecot-dict-sql.conf.ext: connect =
host=/var/lib/mysql/mysql.sock
</div>
<div>
>>>> dbname=postfix user=postfix
password=$Postfix_Database_Password map {
</div>
<div>
>>>> pattern = priv/quota/storage table = quota2 username_field
= username
</div>
<div>
>>>> value_field = bytes } map { pattern = priv/quota/messages
table = quota2
</div>
<div>
>>>> username_field = username value_field = messages }
</div>
<div>
>>>>
</div>
<div>
>>>>
</div>
<div>
>>>> what is actually done with this table?
</div>
<div>
>>>>
</div>
<div>
>>>> thanks
</div>
<div>
>>>>
</div>
<div>
>>>>
</div>
<div>
>>>>
</div>
<div>
>>>>
</div>
<div>
>>>>
</div>
<div>
>>> dict-sql converts the mappings into SQL statements.
</div>
<div>
>> But does dovecot check out the current bytes used and # of messages
and
</div>
<div>
>> resets quota2, or only uses this latest operation (add message,
delete
</div>
<div>
>> message...) to adjust quota2?
</div>
<div>
>>
</div>
<div>
>> If the later how to reset quota2 to the current reality?
</div>
<div>
>>
</div>
<div>
>> thanks
</div>
<div>
>>
</div>
<blockquote type="cite">
<div>
Dovecot keeps the quota current, although dict quota has been known to be
bit bad at this.
</div>
</blockquote>
<blockquote type="cite">
<div>
We nowadays recommend using count quota instead and use quota_clone to copy
the quota state to database. It is more accurate.
</div>
</blockquote>
<div>
And how is this recommendation implemented?
</div>
<div>
<br>
</div>
<div>
All I have are my old notes and what google is finding for me...
</div>
<div>
<br>
</div>
<div>
Please give me some pointers.
</div>
<div>
<br>
</div>
<div>
thanks
</div>
</blockquote>
<div>
<br>
</div>
<div>
<a
href="https://wiki.dovecot.org/Quota/Count">https://wiki.dovecot.org/Quota/Count</a>
<br>
</div>
<div>
<a
href="https://wiki.dovecot.org/Plugins/QuotaClone">https://wiki.dovecot.org/Plugins/QuotaClone</a>
<br>
</div>
<div>
<br>
</div>
<div>
and the recommendation is under
</div>
<div>
<br>
</div>
<div>
https://wiki.dovecot.org/Quota
<br>
</div>
<div class="io-ox-signature">
---
<br>Aki Tuomi
</div>
</body>
</html>
On 2/12/19 1:57 PM, Aki Tuomi wrote:> >> On 12 February 2019 at 20:52 Robert Moskowitz via dovecot < >> dovecot at dovecot.org <mailto:dovecot at dovecot.org>> wrote: >> >> >> >> >> On 2/12/19 1:03 PM, Aki Tuomi via dovecot wrote: >> Dovecot keeps the quota current, although dict quota has been known >> to be bit bad at this. >>> We nowadays recommend using count quota instead and use quota_clone >>> to copy the quota state to database. It is more accurate. >> And how is this recommendation implemented? >> >> All I have are my old notes and what google is finding for me... >> >> Please give me some pointers. >> >> thanks > > https://wiki.dovecot.org/Quota/Count > https://wiki.dovecot.org/Plugins/QuotaClone > > and the recommendation is under > > https://wiki.dovecot.org/QuotaI have been spending effort today reading up on this and searching on a couple questions. For my additions to 20-imap.conf I have: imap_client_workarounds = delay-newmail protocol imap { ??? mail_plugins = quota imap_quota trash } I see that the mail_plugin quota is moved to 10-mail.conf.? No biggie there.? But what about trash? And I tried to find documentation on imap_client_workarounds and all I have found is in: https://wiki.dovecot.org/QuickConfiguration#Client_Workarounds "Check imap_client_workarounds and pop3_client_workarounds and see if you want to enable more of them than the defaults. ? With no link about where to learn more. Where does quota count go?? Just dovecot.conf or one of the numbered conf addtions? https://wiki.dovecot.org/Quota/Count Also is there a way to compute the count for all users?? I am migrating the maildir and rebuilding the sql database.? I see: doveadm?mailbox?status?-u?user at domain?vsize?'*' But do I do that for each user in each domain or is that '*' there to run it on all users? I think this will get me started. -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20190212/8bce9528/attachment.html>