Como posso liberar espaço de uma pasta massiva de 39,5 GB / var / log /?

43

Acabei de receber uma mensagem do software de análise de disco padrão (Baobab) que eu só tenho 1GB no disco rígido. Depois de alguma pesquisa, descobri que a pasta /var/log/ é a causa disso.

Alguns arquivos / tamanhos em /var/log/ :

  • kern.log = 12,6 GB
  • ufw.log = 12,5 GB
  • kern.log.1 = 6,1 GB
  • ufw.log.1 = 6,0 GB

Et cetera et cetera. /var/log é enorme.

Posso excluir esses arquivos ou toda a pasta /var/log ? Ou isso é um GRANDE NÃO NO no Ubuntu?

    
por blade19899 30.01.2012 / 22:31

4 respostas

38

Você não deve remover a pasta inteira mas você pode remover arquivos de log "Antigos" sem prejudicar o seu sistema.

Para um usuário doméstico típico, é seguro remover qualquer arquivo de log que esteja compactado e tenha uma extensão .gz (como você pode ver na foto).

Esses arquivos de log compactados são logs antigos que são compactados para reduzir o espaço de armazenamento e, como um usuário comum, você não precisa deles.

    
por Salih Emin 01.02.2012 / 10:09
29

Eu não excluiria toda a pasta / var / log - isso quebrará as coisas.

Você poderia apenas destruir os logs como @jrg sugere - mas a menos que as coisas escritas nos arquivos de log (principalmente syslogd) sejam reiniciadas, elas não irão recuperar nenhum espaço em disco, pois os arquivos continuarão existindo em um arquivo excluído. estado até que as alças de arquivo sejam fechadas.

Melhor seria descobrir por que os registros não estão sendo rotacionados (e depois excluídos). logrotate é suposto fazer isso para você, e eu suspeito que não está sendo executado a cada noite como deveria.

A primeira coisa que eu faria seria:

sudo /etc/cron.daily/logrotate

Isso deve girar os arquivos de log (assim kern.log se torna kern.log.1); e você pode então deletar o kern.log.1 etc para liberar o espaço em disco.

Se tudo estiver bem até agora, a próxima pergunta é por que isso não está acontecendo automaticamente. Se você desligar o computador à noite, certifique-se de ter o anacron instalado.

    
por richvdh 30.01.2012 / 23:03
16

Você deve examinar os logs e ver o que está sendo gravado para eles. Meu palpite é ufw / iptables (você está registrando todo o tráfego de rede).

ufw - quando você registra todos os pacotes, você obterá logs grandes. Se você não for revisar os logs, desative o logoff. Se você deseja monitorar sua rede, use snort. O Snort irá filtrar os milhares de pacotes recebidos e alertá-lo para tráfego potencialmente problemático.

Meu palpite é que o ufw é o culpado e você está obtendo um log grande no kern.log porque você também está registrando pacotes lá.

Às vezes, há um problema no kernel ou no hardware que preenche os logs. Nesse caso, é melhor corrigir o problema ou arquivar um bug, você precisará revisar os logs para fazer isso.

Se você não puder corrigir o problema, poderá configurar o syslog para não preencher seus registros.

Veja o link

Se você fornecer mais detalhes sobre o problema, poderemos ajudar a depurá-lo melhor.

    
por Panther 30.01.2012 / 23:20
5

A exclusão de /var/log é provavelmente uma má ideia, mas a exclusão dos arquivos de log individuais deve ser aceitável.

No meu laptop, com um pequeno disco SSD, configure /var/log (e /tmp e /var/tmp ) como tmpfs pontos de montagem, adicionando as seguintes linhas a /etc/fstab :

temp        /tmp        tmpfs   rw,mode=1777    0   0
vartmp      /var/tmp    tmpfs   rw,mode=1777    0   0
varlog      /var/log    tmpfs   rw,mode=1777    0   0

Isso significa que nada nesses diretórios sobrevive a uma reinicialização. Tanto quanto eu posso dizer, esta configuração funciona muito bem. É claro que perco a capacidade de examinar logs antigos para diagnosticar problemas que possam ocorrer, mas considero que é uma troca justa pelo uso reduzido de disco.

O único problema que tive é que alguns programas (principalmente o APT) querem gravar seus logs em subdiretórios do /var/log e não são inteligentes o suficiente para criar esses diretórios se eles não existirem. Adicionar a linha mkdir /var/log/apt em /etc/rc.local corrigiu esse problema em particular para mim; dependendo de qual software você instalou, você pode precisar criar outros diretórios também.

(Outra possibilidade seria criar um simples arquivo tar contendo apenas os diretórios e descompactá-lo em /var/log na inicialização para criar todos os diretórios necessários e definir suas permissões de uma só vez.)

    
por Ilmari Karonen 31.01.2012 / 05:49