Dovecot logrotation - old journal files are still in use (second attempt)
Hi all
Sorry, it is the second attempt due to wrong format of the first message.
In my Dovecot there are 3 files of logging (debug, info and .log) While executing logrotation, the new files are created, but the previos ones, namely dovecot.*.1 are still in use by the process
Here is the logger process in memory: root 19140 0.0 0.0 4140 1576 ? S Mar12 0:06 dovecot/log
Here the files it uses after the daily logrotation had happened: # lsof -p19140 |grep log ... log 19140 root 33w REG 9,3 811 417675 /var/log/dovecot.log.1 log 19140 root 34w REG 9,3 2842123 417681 /var/log/dovecot.info.1 log 19140 root 35w REG 9,3 14853918 417683 /var/log/dovecot.debug.1 ...
After the manual issue 'doveadm log reopen` command the files are changed to # lsof -p19140 |grep dovecot\\\. ... log 19140 root 33w REG 9,3 0 417651 /var/log/dovecot.log log 19140 root 34w REG 9,3 121374 417690 /var/log/dovecot.info log 19140 root 35w REG 9,3 916153 417691 /var/log/dovecot.debug
as it is expected to be.
I use the logrotate config for dovecot instance: /var/log/dovecot.log /var/log/dovecot.info /var/log/dovecot.debug { daily rotate 14 missingok notifempty compress delaycompress sharedscripts postrotate doveadm log reopen chmod 666 /var/log/dovecot.log chmod 666 /var/log/dovecot.info chmod 666 /var/log/dovecot.debug endscript }
At the same time, dovecot itself still uses previous logs:
# lsof |grep var\/log\/dovecot\. dovecot 19138 root 8w REG 9,3 12962 417613 /var/log/dovecot.log.1 (deleted) dovecot 19138 root 9w REG 9,3 4097250 416836 /var/log/dovecot.info.1 (deleted) dovecot 19138 root 10w REG 9,3 23816347 417603 /var/log/dovecot.debug.1 (deleted)
What can be the root of the issue?
I use Dovecot as LDA for Postfix with system users, mbox mail format. System Slackware 12.0 x86, Postfix 2.4.5, Dovecot 2.2.36. Interconnect Postfix-Dovecot has been made via `mailbox_command = ...' Dovecot was compiled from sources
Logging configuration (file conf.d/10-logging.conf) contains the following:
log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot.info debug_log_path = /var/log/dovecot.debug
auth_verbose = yes auth_verbose_passwords = yes auth_debug = yes mail_debug = yes verbose_ssl = yes
plugin { }
Could the fact, that Postfix require Dovecot logs to be accessible someway, result in such a weird behavior? To allow other processes to access Dovecot logs I had to chmod 0666 all the current logs while integrating Dovecot into Postfix delivery (please see `chmod' commands in the logrotate config above)
Please ignore my previos post https://dovecot.org/pipermail/dovecot/2019-March/115075.html
Thank you Denis Razoumovskiy
Give it a try with
postrotate doveadm -o base_dir=/var/run/dovecot/ log reopen endscript
participants (2)
-
Denis V Razumovskiy
-
Dmitry Donskih