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