Скрипт logrotate для ротации логов dovecot
Что-то последнее время часто приходится настраивать ротацию логов dovecot с помощью logrotate. Заметка на память. Всё очень просто. Создаём файлик 1 # vim /etc/logrotate.d/dovecot с содержимым… 1 2 3 4 5 6 7 8 9 10 /var/log/dovecot*.log { mail [email protected] 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, и если ротация выполняется полностью, то ошибок не возникает.