Logs de acesso do Apache excluídos ainda ocupando espaço

4

Eu apaguei um 7GB apache2 other_vhosts_access.log.1 para liberar algum espaço em nosso servidor. Basicamente eu apaguei todos, mas os logs de acesso mais recentes. O maior foi descompactado - suponho que não tenha sido através de logrotate (que está sendo executado).

Rodar um df -h não mostra espaço extra e eu tentei todas as combinações de apache/apachectl restart/reload/graceful etc. como mencionado em outras questões - sem resultado. lsof não mostra o arquivo aberto também.

    
por rebelbass 07.11.2012 / 09:23

4 respostas

4

é mais do que provável que você tenha excluído os registros, mas o apache os bloqueou.

Você deve usar lsof e procurar (excluído). Guia da IBM aqui . A maneira de corrigir é reiniciar o processo do apache para liberar o arquivo.

    
por 07.11.2012 / 09:27
3

Tente copiar / dev / null para seu arquivo de log. Isso deve truncar seu arquivo sem fechar o identificador de arquivo que o apache está mantendo ...

cp /dev/null other_vhosts_access.log.1
    
por 07.11.2012 / 10:08
1

Eu tive o mesmo problema e resolvi o seguinte.

PROBLEMA:

Eu apaguei manualmente access_log e error_log no diretório /var/www/vhosts/mywebsite/logs/mywebsite1/ para liberar espaço, mas mesmo se os arquivos desaparecerem, o espaço não será liberado.

SOLUÇÃO:

Eu usei lsof classificado por tamanho para pesquisar arquivos grandes (comando encontrado aqui ):

lsof -s | awk '$5 == "REG"' | sort -n -r -k 7,7 | head -n 100

Encontrei os dois arquivos grandes access_log e error_log em outro caminho (observe a diferença com o caminho anterior):

/var/www/vhosts/system/mywebsite1/logs/

Eu reconfixo esses dois arquivos com o comando:

:>/var/www/vhosts/system/mywebsite1/logs/access_log

:>/var/www/vhosts/system/mywebsite1/logs/error_log

Os arquivos foram esvaziados e o espaço foi liberado.

Espero que possa ser útil.

    
por 12.11.2014 / 12:54
0

No meu caso, eu precisava reiniciar o rsyslog , que é o único que lida com logs no meu sistema Ubuntu e liberou todo o espaço em disco.

Isso pode ser reiniciado executando sudo service rsyslog restart ou se você estiver no 16.04+ com sudo systemctl restart rsyslog .

    
por 16.07.2017 / 17:39