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 <[email protected]
>> <mailto:[email protected]>> 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 <[email protected]
>>>> <mailto:[email protected]> <mailto:[email protected]
>>>> <mailto:[email protected]>>> 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
signature.asc
Description: OpenPGP digital signature
