Dovecot Quota SQL-Backend... Probleme bei der Quota Berechnung...

Klaus Tachtler klaus at tachtler.net
Sa Apr 8 07:53:38 CEST 2017


Hallo Liste,

ich habe im Dovecot konfiguriert, dass dieser die Quota-Berechnung in  
eine SQL-Datenbank schreibt, was auch alles wunderbar funktioniert!

Wie ich das gemacht habe, siehe hier in meinem DokuWiki, welches ich  
für mich erstellt habe:
--->  
https://dokuwiki.tachtler.net/doku.php?id=tachtler:dovecot_quotas_-_sql-backend

+--------------------+
| Jetzt zum PROBLEM: | --->
+--------------------+

Als ich mich heute morgen in meinem E-Mail Programm (MUA) angemeldet  
habe, sah ich, dass der Speicherverbrauch bei 18% lag - doppelt so  
viel wie gestern Abend, wo es nur 9% waren.

#  doveadm quota get -u klaus at tachtler.net
Quota name Type     Value   Limit                        %
User Quota STORAGE 181898 1000000                       18
User Quota MESSAGE   5270       -                        0

Nach einer erzwungenen Neuberechnung mit:

# doveadm quota recalc -u klaus at tachtler.net

bekam ich dann wieder mein "erwartetes" Ergebnis:

# doveadm quota get -u klaus at tachtler.net
Quota name Type    Value   Limit                        %
User Quota STORAGE 91357 1000000                        9
User Quota MESSAGE  2639       -                        0

Hat jemand eine Idee, oder einen Tipp, was da beim dovecot passiert  
sein könnte?

Evtl. hat es eine Auswirkung, das ich in der Nacht eine Sicherung  
aller Postfächer, wie hier nachfolgend beschrieben
--->  
https://dokuwiki.tachtler.net/doku.php?id=tachtler:dovecot_backup_-_skript
bzw.
---> https://github.com/tachtler/dovecot-backup
durchführe?

Vielen Dank für einen Tipp bzw. Eure Hilfe schon in Voraus!


Grüße
Klaus.

Anbei noch: doveconf -n
=======================

# doveconf -n
# 2.2.28 (bed8434): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.17 (e179378)
# OS: Linux 3.10.0-514.10.2.el7.x86_64 x86_64 CentOS Linux release  
7.3.1611 (Core)
auth_master_user_separator = *
auth_mechanisms = plain digest-md5 cram-md5 login
auth_verbose = yes
dict {
   sqldomainquota = mysql:/etc/dovecot/dovecot-sql-domain.conf.ext
   sqluserquota = mysql:/etc/dovecot/dovecot-dict-sql-user.conf.ext
}
hostname = imap-server.tachtler.net
listen = *
mail_location = maildir:~/Maildir
mail_plugins = " quota acl zlib mail_log notify"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope  
encoded-character vacation subaddress comparator-i;ascii-numeric  
relational regex imap4flags copy include variables body enotify  
environment mailbox date index ihave duplicate mime foreverypart  
extracttext
mbox_write_locks = fcntl
namespace {
   list = children
   location = maildir:%%h/Maildir:INDEX=%h/shared/%%u:CONTROL=%h/shared/%%u
   prefix = shared/%%u/
   separator = /
   subscriptions = yes
   type = shared
}
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     auto = subscribe
     special_use = \Drafts
   }
   mailbox Junk {
     auto = subscribe
     special_use = \Junk
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   prefix = INBOX/
   separator = /
}
passdb {
   args = /etc/dovecot/master-users
   driver = passwd-file
   master = yes
   pass = yes
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
plugin {
   acl = vfile
   acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db
   mail_log_fields = uid box msgid size from
   quota = dict:User Quota::proxy::sqluserquota
   quota2_rule = Trash:storage=+10%%
   quota_grace = 10%%
   quota_rule = *:storage=1G
   quota_rule2 = INBOX/Trash:storage=+100M
   quota_status_nouser = DUNNO
   quota_status_overquota = 552 5.2.2 Mailbox is over quota
   quota_status_success = DUNNO
   quota_warning = storage=95%% quota-warning 95 %u
   quota_warning2 = storage=80%% quota-warning 80 %u
   sieve = file:~/sieve;active=~/.dovecot.sieve
   zlib_save = gz
   zlib_save_level = 6
}
postmaster_address = postmaster at tachtler.net
protocols = imap lmtp sieve
service auth {
   unix_listener auth-userdb {
     group = vmail
     user = vmail
   }
}
service dict {
   unix_listener dict {
     group = vmail
     mode = 0660
     user = vmail
   }
}
service imap-login {
   process_min_avail = 1
   service_count = 0
}
service lmtp {
   inet_listener lmtp {
     address = 192.168.0.80
     port = 24
   }
}
service managesieve-login {
   inet_listener sieve {
     address = 192.168.0.80
     port = 4190
   }
}
service quota-status {
   client_limit = 1
   executable = quota-status -p postfix
   inet_listener {
     address = 192.168.0.80
     port = 12340
   }
}
service quota-warning {
   executable = script /usr/local/bin/quota-warning.sh
   unix_listener quota-warning {
     user = vmail
   }
   user = vmail
}
ssl = required
ssl_cert = </etc/pki/dovecot/certs/cert_all_in_one.crt
ssl_cipher_list =  
ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_dh_parameters_length = 2048
ssl_key =  # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3
userdb {
   driver = prefetch
}
userdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
verbose_proctitle = yes
protocol lmtp {
   mail_plugins = " quota acl zlib mail_log notify sieve"
}
protocol imap {
   mail_max_userip_connections = 50
   mail_plugins = " quota acl zlib mail_log notify imap_quota imap_acl  
imap_zlib"
}
protocol sieve {
   mail_max_userip_connections = 50
}

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-keys
Dateigröße  : 3120 bytes
Beschreibung: Öffentlicher PGP-Schlüssel
URL         : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20170408/9115fb07/attachment.skr>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 836 bytes
Beschreibung: Digitale PGP-Signatur
URL         : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20170408/9115fb07/attachment.sig>


Mehr Informationen über die Mailingliste Dovecot