Log rotation and combining...

Tom Hendrikx tom at whyscream.net
Sat Nov 18 17:47:18 EET 2017


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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 829 bytes
Desc: OpenPGP digital signature
URL: <https://dovecot.org/pipermail/dovecot/attachments/20171118/efa150a1/attachment.sig>


More information about the dovecot mailing list