Denis V Razumovskiy
2019-Mar-15 07:03 UTC
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