Arquivo de log ocupando todo o espaço no Ubuntu 16.04 LTS. Consertar?

4

Eu tenho recentemente entrou no Linux e é dual booted no meu pc com o windows 10. Eu instalei alguns arquivos no Ubuntu 16.04 e um espaço de 41 GB é alocado para o Ubuntu no meu pc. Mas de repente surgiu um aviso de que não tenho muito espaço restante. Depois de alguns olhares, descobri que é comido principalmente pelos arquivos de log, mais especificamente o arquivo "syslog.1". Tenho certeza que há uma confusão em meus aplicativos e está registrando esses problemas repetidamente. Vou remover a maioria dos aplicativos e começar de novo.

Mas por enquanto, como faço para limpar esse arquivo e liberar o espaço de 37 GB que ele está comendo? Isso ajudará? Eu encontrei isso em um fórum.

sudo gzip syslog.1

Atualização:

O código acima funcionou comprimindo o arquivo de log de 37 GB para cerca de 800 MB. No entanto, estou procurando uma solução permanente para encontrar os erros que causam o arquivo de log para ampliar. Eu também instalei muitos arquivos .deb. E eles têm muitas dependências não atendidas que precisam ser baixadas.  Como faço para reverter esta ação e remover os arquivos que possuem dependências não atendidas?

Eu também tentei:

sudo apt-get autoremove
sudo apt-get clean

Estes não parecem funcionar.

    
por 2dsharp 06.07.2016 / 09:41

2 respostas

3

Um arquivo de log de 37GB é um problema em si, especialmente se o sistema tiver apenas alguns dias. Você tem que monitorar o arquivo de log para ver o que está acontecendo. O melhor é excluir o arquivo antigo, pois ele é grande demais para ser manipulado. Então você pode instalar logrotate . Com ele você pode limpar arquivos de log. Ele pode "girar" arquivos de log diariamente, semanalmente ou o que você quiser. No seu caso, deveria ser diário. Em seguida, você especifica quantos arquivos de registro deseja manter, além de precisar compactar os antigos.

Esse arquivo de 37 GB é compactado com apenas 4 GB, portanto, não causará problemas, mesmo se você precisar manter cinco deles. Isso ainda seria extremo, mas isso é apenas para dar uma ideia do que a logrotation pode fazer.

Abaixo, você pode ver minha configuração do logrotate para o Apache, com compactação e compactação atrasada. Mantém os logs por 14 dias. Para o seu log você deve procurar no google o que é uma boa configuração.

/var/log/apache2/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if /etc/init.d/apache2 status > /dev/null ; then \
                    /etc/init.d/apache2 reload > /dev/null; \
                fi;
        endscript
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
}

Quando tudo estiver funcionando bem, você pode definir o logrotation de volta para 30 dias ou algo assim.

Ah, e se este não for o sistema que você usa diariamente, execute o trabalho logrotate manualmente. Se o cronjob estiver configurado para ser executado às 3 da manhã, provavelmente ele não será executado e o problema continuará existindo.

Atualizar

Você precisa adicionar compress à sua configuração do logrotate. Você pode adicionar isso a todas as configurações em /etc/logrotate.d . Para logs grandes demais agora, exclua-os ou compacte-os como você fez. 800MB ainda é muito, considerando que você nunca fará nada com ele, então apague-o: sudo rm syslog.1.gz , e apague tudo que é muito grande.

    
por SPRBRN 06.07.2016 / 09:57
1

Simplesmente você pode gerenciá-lo usando logrotate com o seguinte código em vi etc/logrotate.conf :

/var/log/syslog1
{
     daily

     size 100 M(/* It can be k ,M ,G etc*/)

     compress

     postrotate
         cat /dev/null >/var/log/syslog1 (/* It will make log file null*/)
     endscript

     mail [email protected]
     rotate 4         
}

Você também pode descobrir seu arquivo maior em tamanho:

du -a /var | sort -n -r | head -n 10
    
por Avani badheka 22.08.2016 / 13:24

Tags