arquivos de 24gb removidos, mas sem alterações no espaço disponível. O que pode ter acontecido? [duplicado]

3

Temos essa máquina virtual que tem o Apache2 instalado, nos esquecemos de instalar um log rotate e conseguimos 24gb de logs do Apache2, removemos esses 24gb de arquivos de log mas nenhuma alteração ocorreu no disco, foi como se eu não removeu os logs. Alguém entende o que pode ter acontecido?

root@Web:~# cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS"

root@Web:~# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              29G   27G  675M  98% /
none                  744M  176K  744M   1% /dev
none                  748M     0  748M   0% /dev/shm
none                  748M  568K  748M   1% /var/run
none                  748M     0  748M   0% /var/lock
none                  748M     0  748M   0% /lib/init/rw
none                   29G   27G  675M  98% /var/lib/ureadahead/debugfs

root@Web:~# du -kh /var/log/apache2
24G     /var/log/apache2

root@Web:~# rm /var/log/apache2/*

root@Web:~# du -kh /var/log/apache2
4.0K    /var/log/apache2

root@Web:~# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              29G   27G  673M  98% /
none                  744M  176K  744M   1% /dev
none                  748M     0  748M   0% /dev/shm
none                  748M  568K  748M   1% /var/run
none                  748M     0  748M   0% /var/lock
none                  748M     0  748M   0% /lib/init/rw
none                   29G   27G  673M  98% /var/lib/ureadahead/debugfs
    
por Ezequiel 05.07.2014 / 15:43

2 respostas

2

Isso é mais provável porque você não removeu os arquivos.
O que eu acho que aconteceu é o seguinte:

  1. Os arquivos de log foram criados e um programa (leia-se: Apache) escreveu para eles usando um identificador de arquivos.
    O arquivo também aparece na sua listagem de diretórios.
  2. Você tentou excluir os arquivos usando rm de um modo semelhante enquanto o Apache ainda os abre .
  3. Os arquivos agora estão parcialmente excluídos. A listagem do diretório desapareceu. Mas o arquivo ainda está lá e permanecerá no disco até que todas as alças que apontam para ele sejam fechadas.

A maneira mais fácil de fazer isso é reiniciar o Apache enviando um SIGHUP. (Enviar um HUP para o Apache diz-lhe para fazer uma reinicialização graciosa que, entre outras coisas, faz com que feche / reabra os arquivos de log.) Você pode enviar tal comando via kill -1 (veja man kill para mais informações).

    
por 05.07.2014 / 15:54
1

Você excluiu os logs, mas o Apache mantém os arquivos abertos.

O espaço será recuperado assim que você reiniciar (não recarregá-lo).

Na próxima vez, você poderá truncar os logs em vez de excluí-los, usando > logfile ou cat /dev/null > logfile

    
por 05.07.2014 / 16:02