Log rotation and combining...

SH Development listaccount at starionline.com
Wed Nov 22 08:55:23 EET 2017


No, I’m not using selinux.

I didn’t set up the logging to be under /home so I don’t know why it’s going there.  I do know it’s been there for many years.  Hence, my question about where it SHOULD be and if it can be combined with the maillog.

Ethon


> On Nov 18, 2017, at 9:47 AM, Tom Hendrikx <tom at whyscream.net> wrote:
> 
> HI,
> 
> Do you have selinux activated? Maybe the context for logrotate does not
> allow accessing files under /home, and the root cli is not troubled by
> such a limitation? Why are you storing log files under /home anyway?
> 
> Note: I don't use any OS with selinux, so can't really help with fixing
> this an issue.
> 
> Regards,
> 	Tom
> 
> On 17-11-17 22:42, SH Development wrote:
>> So, the question is, why can I rotate the log manually, but cron returns a permission error?  Do I need to tell cron to run it as sudo or something like that?
>> 
>> Ethon
>> 
>>> On Nov 17, 2017, at 2:29 AM, Tom Hendrikx <tom at whyscream.net <mailto:tom at whyscream.net>> wrote:
>>> 
>>> Hi,
>>> 
>>> 
>>> Your crontab should normally mail you error output. But you can also run
>>> the logrotate command manually, in verbose mode.
>>> 
>>> 
>>> Kind regards,
>>> 	Tom
>>> 
>>> On 17-11-17 03:35, SH Development wrote:
>>>> 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> <mailto: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
> 
> 



More information about the dovecot mailing list