O Logrotate não funciona do cron no CentOS

2

Eu tenho o lograotate configurado no CentOS 6. Ele funciona bem quando eu o executo manualmente, mas com o CRON ele não funciona. Cron diz em seus logs: "Tudo bem, eu corro o comando", mas nada acontece. Detalhes:

cat /etc/logrotate.d/myproject

/var/opt/myproject/log/error.log {
    size=200M
    rotate 25
    missingok
    notifempty
    copytruncate
    nocreate
    nocompress
    nodateext
}

cat /etc/cron.d/1everymin

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
* * * * * root /etc/cron.min/logrotate

cat /etc/cron.min/logrotate

#!/bin/sh

#/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
/usr/sbin/logrotate -v /etc/logrotate.conf > /logrotate.log
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

A cada minuto eu vejo em / var / log / cron

Jan 16 21:40:01 localhost CROND[31541]: (root) CMD (/etc/cron.min/logrotate)
Jan 16 21:41:01 localhost CROND[31552]: (root) CMD (/etc/cron.min/logrotate)
Jan 16 21:42:01 localhost CROND[31561]: (root) CMD (/etc/cron.min/logrotate)
Jan 16 21:43:01 localhost CROND[31575]: (root) CMD (/etc/cron.min/logrotate)
Jan 16 21:44:01 localhost CROND[31587]: (root) CMD (/etc/cron.min/logrotate)

Mas log, na verdade, não é girado: nada acontece, /logrotate.log está vazio

Se eu executar /etc/cron.min/logrotate manualmente, tudo funcionando bem, /logrotate.log tem informações sobre a rotação de log

    
por odiszapc 17.01.2013 / 03:58

1 resposta

1

Se o SELinux estiver habilitado, o cron não poderá gravar em / Para ver se está habilitado, use:

getenforce

Tente fazer login em outro lugar temporariamente, como /var/log/logrotate.log

Certifique-se de procurar negações em /var/log/audit/auditd.log, assumindo que auditd esteja ativado.

    
por 01.01.2015 / 01:18