[Dovecot] Doveadm expunge purge optimize
Thiago Henrique
thiagoh at digirati.com.br
Wed Sep 29 18:51:14 EEST 2010
Hello,
I'm testing Dovecot 2.0.3.
I plan to use Dovecot with 10 thousands domains per server (~50
thousands accounts).
I use 'mdbox' as mailbox format. So, I have two cron jobs before backup:
################################################################################
01 22 * * * root nice -n 19 /usr/bin/doveadm expunge -A mailbox SPAM
BEFORE 60d
01 00 * * * root nice -n 19 /usr/bin/doveadm purge -A
01 02 * * * root nice -n 19 My_Backup_aplication
################################################################################
Each doveadm command walks through the whole file system. Is there a way
to run the two operations into a single walk? Does anyone have a
suggestion that helps optimize this?
Thank you in advance.
Best Regards
My confs :
################################################################################
root at server:# dovecot -n
# 2.0.3 (02a9cf90ad02): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-24-server x86_64 Ubuntu 10.04.1 LTS
auth_cache_negative_ttl = 3600 s
auth_cache_size = 33554432
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_chars =
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@=
auth_worker_max_count = 10
disable_plaintext_auth = no
listen = server.com
login_greeting = Dovecot server !
mail_gid = dovemail
mail_plugins = $mail_plugins quota
mail_uid = dovemail
managesieve_sieve_capability = fileinto reject envelope vacation
subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include imapflags notify
mmap_disable = yes
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
passdb {
args = /etc/dovecot/dovecot-sql-master.conf.ext
driver = sql
master = yes
pass = yes
}
plugin {
autocreate = SPAM
autosubscribe = SPAM
quota = dict:User quota::file:/var/lib/imap/user/%2.256RHn/%
n/dovecot-quota
quota_rule = *:storage=1GB
sieve = /var/lib/imap/sieve/%2.256RHn/%n/phpscript.script
sieve_dir = /var/lib/imap/sieve/%2.256RHn/%n
sieve_extensions = comparator-i;ascii-numeric copy envelope fileinto
imapflags include notify regex reject relational subaddress vacation
sieve_max_script_size = 512KB
sieve_quota_max_scripts = 2
}
protocols = imap pop3 lmtp sieve
service auth-worker {
user = $default_internal_user
}
service auth {
process_limit = 1
process_min_avail = 1
}
service imap-login {
inet_listener imap {
address = server.com
port = 143
}
}
service imap {
process_limit = 1024
process_min_avail = 10
}
service lmtp {
inet_listener {
address = server.com
port = 2003
}
process_limit = 256
process_min_avail = 10
}
service managesieve-login {
inet_listener sieve {
address = server.com
port = 4190
}
inet_listener sieve_deprecated {
address = server.com
port = 2000
}
}
service managesieve {
process_limit = 20
process_min_avail = 10
}
service pop3-login {
inet_listener pop3 {
address = server.com
port = 110
}
}
service pop3 {
process_limit = 256
process_min_avail = 10
}
ssl = no
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
verbose_proctitle = yes
protocol imap {
imap_idle_notify_interval = 120 s
imap_max_line_length = 65536
mail_max_userip_connections = 10
mail_plugins = $mail_plugins quota imap_quota autocreate
}
protocol lmtp {
mail_plugins = $mail_plugins sieve quota autocreate
}
protocol sieve {
mail_plugins = $mail_plugins sieve
managesieve_implementation_string = Dovecot ManageSieve Pigeonhole
server
managesieve_logout_format = bytes=%i/%o
managesieve_max_line_length = 65536
managesieve_sieve_capability = comparator-i;ascii-numeric copy
envelope fileinto imapflags include notify regex reject relational
subaddress vacation
}
protocol pop3 {
mail_plugins = $mail_plugins quota autocreate
}
root at server:#
################################################################################
--
[]'s
Thiago Henrique
Network Administration
Digirati Networks
K8 Networks
More information about the dovecot
mailing list