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