Что-то последнее время часто приходится настраивать ротацию логов dovecot с помощью logrotate.
Заметка на память.

Всё очень просто.
Создаём файлик

1
# vim /etc/logrotate.d/dovecot

с содержимым…

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
/var/log/dovecot*.log {
    mail me@example.com
    size 10M
    missingok
    notifempty
    delaycompress
    sharedscripts
    postrotate
      /bin/kill -USR1 `cat /var/run/dovecot/master.pid 2>/dev/null` 2> /dev/null || true
    endscript

Для проверки и моментальной ротации можно выполнить  logrotate -v /etc/logrotate.d/dovecot

Для FreeBSD можно добавить в файл /etc/newsyslog.conf строку

1
/var/log/dovecot.log                    644  3     2000 *     J     /var/run/dovecot/master.pid 30

Вот и всё

UPDATE:

немного больше информации вы сможете найти по адресу wiki2.dovecot.org/Logging

Если при выполнении  # logrotate -f -v /etc/logrotate.d/dovecot

вы получаете 

1
2
3
4
error: skipping "/var/log/dovecot-lda.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
considering log /var/log/dovecot.log
error: skipping "/var/log/dovecot.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
considering log /var/log/dovecot-sieve.log

не спешите делать выводы. Директива “su” указана в основном конфигурационном файле /etc/logrotate.conf, и если ротация выполняется полностью, то ошибок не возникает.