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

46

Acabei de receber uma mensagem do Baobab (software de análise de disco padrão) informando que tenho apenas 1 GB no disco rígido. Após algumas pesquisas, descobri que a /var/log/pasta é 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 a /var/logpasta inteira ? Ou isso é um GRANDE NÃO NÃO no Ubuntu?

blade19899
fonte

Respostas:

39

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

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

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

Selecione a extensão .gz

Salih Emin
fonte
7
encontre / var / log -type f -name "* .gz" -exec rm -f {} \;
diyism
@ Diyism eu tentei o seu código, mas não muita ajuda. meu log dir ainda usar o espaço 6GB @ _ @
GusDeCooL
1
find /var/log -type f -name "*.gz" -delete, Removi os arquivos compactados e libertei apenas cerca de 1 GB de espaço. Não é suficiente 50 GB para o /dir e o resto do meu disco para /home!
Muhammad Gelbana 02/02
O PC da minha mãe tinha um arquivo kern.log de 21 GB. Um grande kern.log indica um problema no próprio kernel do Linux ou em algo com o qual está tendo problemas ao lidar. Nos dois casos, é recomendável acessar o terminal do shell do Linux e executar cat /var/log/kern.logou nano /var/log/kern.log(na GUI, execute algo como, por exemplo, gedit /var/log/kern.logou mousepad /var/log/kern.log) e verificar qual pode ser o problema. Depois de descobrir o que há de errado, você pode executar sudo rm /var/log/kern.log ; sudo telinit 6para excluir esse arquivo (grande) e reiniciar o sistema operacional.
Yuri Sucupira 22/03
No meu caso, isso removerá apenas 15,7 MB de 41 arquivos. Os problemas reais aqui são messages(7,7 GB), user.log(7,7 GB), syslog(4,1 GB) e syslog.1(3,5 GB). Esses quatro arquivos somam 23 GB. Alguma maneira de removê-los, ou pelo menos reduzir seu tamanho?
Rodrigo
32

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

Você pode simplesmente destruir os logs como o @jrg sugere - mas, a menos que as coisas que gravam nos arquivos de log (principalmente o syslogd) sejam reiniciadas, não recuperem espaço em disco, pois os arquivos continuarão existindo em um estado excluído até o manipuladores de arquivos estão fechados.

Melhor seria descobrir por que os logs não estão sendo rotacionados (e posteriormente excluídos). O logrotate deve fazer isso por você, e suspeito que não esteja sendo executado todas as noites como deveria.

A primeira coisa que eu faria seria:

sudo /etc/cron.daily/logrotate

Isso deve girar os arquivos de log (para que o kern.log se torne o kern.log.1); e você pode excluir o kern.log.1 etc para liberar espaço em disco.

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

richvdh
fonte
17

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

ufw - quando você registra todos os pacotes, você obtém logs grandes. Se você não for revisar os logs, desative o log. Se você deseja monitorar sua rede, use o snort. O Snort filtrará os milhares de pacotes recebidos e alertará você sobre tráfego potencialmente problemático.

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

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

Se você não conseguir resolver o problema, poderá configurar o syslog para não preencher seus logs.

Veja http://manpages.ubuntu.com/manpages/precise/man5/syslog.conf.5.html

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

Pantera
fonte
2
Esse é um ponto muito bom. Vale a pena descobrir o que está entupindo os logs em vez de apenas excluí-los. +1.
richvdh
6

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

No meu laptop, com um pequeno disco SSD, configurei /var/log( /tmpe /var/tmp) como tmpfspontos 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, essa configuração funciona muito bem. Obviamente, perco a capacidade de examinar logs antigos para diagnosticar quaisquer problemas que possam ocorrer, mas considero isso uma troca justa pelo uso reduzido do disco.

O único problema que tive é que alguns programas (principalmente o APT) desejam gravar seus logs em subdiretórios /var/loge não são inteligentes o suficiente para criar esses diretórios se eles não existirem. Adicionando a linha mkdir /var/log/aptpara /etc/rc.localcorrigir esse problema específico para mim; dependendo de qual software você instalou, também será necessário criar alguns outros diretórios.

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

Ilmari Karonen
fonte
1
ufw foi o problema, aparentemente, eu configurei o log para COMPLETO, para logde tudo. Obrigado pela ajuda :)
blade19899