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>