Задача - обеспечить возможность оперативного и простого выноса части ящиков одного почтового домена на другой винт.
Способ в лоб - симлинк, но оно меня не очень устраивает, ибо на инсерт добавляющий юзера в базу надо навешивать костыли.
После некоторых раздумий добавил в таблицу ящиков скажем текстовое поле mailcluster, в экзиме запрос пути к майлдиру стал выглядеть примерно вот так:
Код: Выделить всё
#кусок configure
...
...select '/var/mail/' ||mailcluster||'$domain'||'/'||'$local_part' ....
...
будет скажем 'newbighdd/' - куда уже заранее смонтировано...
В экзиме все работает.
А вот в довекоте и не понял как так сделать, сначала подумал - нужно пользовать userdb prefetch:
Код: Выделить всё
#кусок dovecot.conf
...
passdb sql {
args = /etc/dovecot-sql.conf
}
userdb prefetch {
}
userdb sql {
args = /etc/dovecot-sql.conf
}
....
Код: Выделить всё
#кусок dovecot-sql.conf
...
password_query = select '/var/mail/' || mailcluster || '%d' || '/'||'%n' AS userdb_home ,..........
....
Код: Выделить всё
#кусок dovecot.conf
....
mail_location=maildir:%h
....
Заранее благодарю.