I have recently noticed that my dovecot-deliver.log is huge and wanted to start rotating it. So a couple of questions: 1. Can the dovecot-deliver.log be combined with the maillog, that gets rotated weekly? If it can be done, is it advisable? Since the inception of this particular server, the log file has been located in the /home/vmail directory. Is there a reason it shouldn?t be located in the /var/log directory with the maillog? 2. Separate from above, if I create a new logrotate script example as follows: # dovecot SIGUSR1: Re-opens the log files. /home/vmail/dovecot-deliver.log { missingok notifempty delaycompress sharedscripts postrotate /bin/kill -USR1 `cat /var/run/dovecot/master.pid 2>/dev/null` 2> /dev/null || true endscript } I get the following error only when cron tries to run it: /etc/cron.daily/logrotate: error: stat of /home/vmail/dovecot-deliver.log failed: Permission denied Owner on the log are vmail:vmail. If I manually force logrotate on this particular log, it works fine. Ethon
I believe you need a 'create' statement to set the permissions. Here is an example for mariadb: /var/log/mariadb/general.log /var/log/mariadb/slow_query.log /var/log/mariadb/error.log /var/log/mariadb/mariadb.log { ??????? create 640 mysql mysql ??????? daily ??????? minsize 30M ??????? notifempty ??????? rotate 3 ??????? missingok ??????? compress ??????? sharedscripts ??????? postrotate #?????? # just if mysqld is really running ??????????????? if test -x /usr/bin/mysqladmin && \ ??????????????????????? /usr/bin/mysqladmin ping &>/dev/null ??????????????? then ??????????????????????? /usr/bin/mysqladmin flush-logs ??????????????? fi ??????? endscript } Bill On 11/16/2017 4:27 AM, SH Development wrote:> I have recently noticed that my dovecot-deliver.log is huge and wanted to start rotating it. So a couple of questions: > > 1. Can the dovecot-deliver.log be combined with the maillog, that gets rotated weekly? If it can be done, is it advisable? > Since the inception of this particular server, the log file has been located in the /home/vmail directory. Is there a reason it shouldn?t be located in the /var/log directory with the maillog? > > 2. Separate from above, if I create a new logrotate script example as follows: > > # dovecot SIGUSR1: Re-opens the log files. > /home/vmail/dovecot-deliver.log { > missingok > notifempty > delaycompress > sharedscripts > postrotate > /bin/kill -USR1 `cat /var/run/dovecot/master.pid 2>/dev/null` 2> /dev/null || true > endscript > } > > I get the following error only when cron tries to run it: > > /etc/cron.daily/logrotate: > error: stat of /home/vmail/dovecot-deliver.log failed: Permission denied > > > Owner on the log are vmail:vmail. If I manually force logrotate on this particular log, it works fine. > > > Ethon
That doesn?t seem to work either. Where do I find logs for log rotation to see the reason it failed? Ethon> On Nov 16, 2017, at 7:53 PM, Bill Shirley <bill at KnoxvilleChristian.org <mailto:bill at KnoxvilleChristian.org>> wrote: > > I believe you need a 'create' statement to set the permissions. Here > is an example for mariadb: > /var/log/mariadb/general.log > /var/log/mariadb/slow_query.log > /var/log/mariadb/error.log > /var/log/mariadb/mariadb.log { > create 640 mysql mysql > daily > minsize 30M > notifempty > rotate 3 > missingok > compress > sharedscripts > postrotate > # # just if mysqld is really running > if test -x /usr/bin/mysqladmin && \ > /usr/bin/mysqladmin ping &>/dev/null > then > /usr/bin/mysqladmin flush-logs > fi > endscript > } > > Bill > > > On 11/16/2017 4:27 AM, SH Development wrote: >> I have recently noticed that my dovecot-deliver.log is huge and wanted to start rotating it. So a couple of questions: >> >> 1. Can the dovecot-deliver.log be combined with the maillog, that gets rotated weekly? If it can be done, is it advisable? >> Since the inception of this particular server, the log file has been located in the /home/vmail directory. Is there a reason it shouldn?t be located in the /var/log directory with the maillog? >> >> 2. Separate from above, if I create a new logrotate script example as follows: >> >> # dovecot SIGUSR1: Re-opens the log files. >> /home/vmail/dovecot-deliver.log { >> missingok >> notifempty >> delaycompress >> sharedscripts >> postrotate >> /bin/kill -USR1 `cat /var/run/dovecot/master.pid 2>/dev/null` 2> /dev/null || true >> endscript >> } >> >> I get the following error only when cron tries to run it: >> >> /etc/cron.daily/logrotate: >> error: stat of /home/vmail/dovecot-deliver.log failed: Permission denied >> >> >> Owner on the log are vmail:vmail. If I manually force logrotate on this particular log, it works fine. >> >> >> Ethon