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

Всё очень просто.
Создаём файлик 
# vim /etc/logrotate.d/dovecot

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

/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 строку

/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


вы получаете 

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, и если ротация выполняется полностью, то ошибок не возникает.