Meu logrotate do Linux e meus arquivos de log do huges

1

Eu posso ver alguns arquivos de log enormes no meu servidor:

stephane@data:~$ ls -lS /var/log
total 55G
-rw-r----- 1 root              15G août   9 23:32 syslog.1
-rw-r----- 1 root              15G août   9 23:32 mail.log.1
-rw-r----- 1 root              15G août   9 23:32 mail.info.1
-rw-r----- 1 root              12G août   9 23:32 mail.warn.1
-rw-r----- 1 root             286M août   9 22:21 mail.err.1
-rw-r----- 1 root              82M août   9 10:32 daemon.log.1
-rw-r----- 1 root             2,0M août   9 23:32 messages.1
-rw-r----- 1 root             1,8M août   9 23:31 auth.log.1
-rw-r----- 1 root             1,7M nov.  14  2016 daemon.log.4.gz
-rw-r----- 1 root             1,7M nov.  28  2016 daemon.log.2.gz
-rw-r----- 1 root             1,5M août   8 04:38 user.log.1
-rw-rw-r-- 1 root             1,4M août   9 23:31 lastlog
-rw-r----- 1 root             1,3M nov.  20  2016 daemon.log.3.gz
-rw-r----- 1 root             659K août   9 09:57 kern.log.1
-rw-r----- 1 root             466K août   9 23:42 syslog

Eu vejo o utilitário logrotate instalado no servidor:

stephane@data:~$ cat /etc/cron.daily/logrotate
#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf

E tem alguns arquivos de configuração:

stephane@data:~$ ll /etc/logrotate.d
total 52K
-rw-r--r-- 1 root 433 nov.  28  2015 apache2
-rw-r--r-- 1 root 173 oct.  17  2014 apt
-rw-r--r-- 1 root  79 nov.   7  2012 aptitude
-rw-r--r-- 1 root 113 mai   24  2013 cron-apt
-rw-r--r-- 1 root 232 juin   5  2014 dpkg
-rw-r--r-- 1 root 313 mars  19  2014 fail2ban
-rw-r--r-- 1 root 847 janv. 27  2016 mysql-server
-rw-r--r-- 1 root 330 févr. 10  2016 nginx
-rw-r--r-- 1 root 152 mars  14  2016 php5-fpm
-rw-r--r-- 1 root 126 juin   8  2012 redis-server
-rw-r--r-- 1 root 162 mai   26  2012 rkhunter
-rw-r--r-- 1 root 553 août   9 23:38 rsyslog
-rw-r--r-- 1 root 235 juin  15  2015 unattended-upgrades

Eu vejo que um desses arquivos de configuração deve estar limpando:

stephane@data:~$ cat /etc/logrotate.d/rsyslog
/var/log/syslog
{
    rotate 4
    daily
        size 1024k
    missingok
    notifempty
    delaycompress
    compress
    postrotate
        invoke-rc.d rsyslog rotate > /dev/null
    endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
    rotate 4
    weekly
        size 1024k
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        invoke-rc.d rsyslog rotate > /dev/null
    endscript
}

A execução do utilitário logrotate parece estar bem:

stephane@data:~$ sudo /usr/sbin/logrotate /etc/logrotate.conf

Como posso ver se o logrotate foi executado hoje?

Como posso ter logrotate cuidando desses arquivos de 3 huges?

Obrigado por qualquer direção.

    
por Stephane 09.08.2017 / 23:50

2 respostas

0

Vejo que você não tem os registros do cron ativados ou pelo menos o arquivo padrão está ausente. Isso provavelmente significa que a entrada do cron em /etc/syslog.conf ou /etc/rsyslog.conf é comentada. Eu vou usar o exemplo rsyslog.conf a partir de agora, mas seu sistema pode usar o daemon syslog antigo com o antigo arquivo syslog.conf .

Por favor edite esse arquivo e encontre a entrada começando com o cron e descomente-a se for comentada. O meu estava em um sistema estável do Debian, assim:

cron.*                         /var/log/cron.log

Depois de modificar e salvar o arquivo, saia e reinicie o serviço syslog / rsyslog da seguinte forma:

systemctl restart rsyslog

ou, em versões mais antigas com o sistema init, assim:

/etc/init.d/rsyslog restart

e crie o arquivo de log assim:

> /var/log/cron

e novas entradas para o seu cron daemon também devem ir para lá.

Por favor, verifique o seu arquivo rsyslog.conf para ver se existem outras entradas que redirecionam as mensagens cron em outro lugar. Eu tive isso no meu:

*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          -/var/log/messages

e isso significa que vários tipos de mensagens, incluindo aquelas provenientes do cron, são todas enviadas para o arquivo /var/log/messages , e você pode ter sua resposta lá já.

Dependendo da distribuição do Linux, os nomes dos arquivos podem variar.

    
por 10.08.2017 / 11:43
0

Em uma pesquisa rápida na Internet sobre esse erro, descobri que é um bug debian jessie que é estranhamente semelhante à sua situação e envolve a leitura de / dev / xconsole.

Você tem algo assim em seu arquivo conf?

daemon.*;mail.*;\
news.err;\
*.=debug;*.=info;\
*.=notice;*.=warn   |/dev/xconsole

Não tenho certeza se posso adicionar links, mas verifique: link e link

Espero que ajude.

    
por 31.08.2017 / 23:18