PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Solução de erro de disco cheio no servidor Linux

Yazdır

Como resolver o erro de disco cheio no servidor Linux?

Um guia para encontrar ficheiros grandes, limpar registos em segurança e libertar espaço no servidor.

Um dos problemas mais comuns nos servidores Linux é que o disco fica completamente cheio. Quando o disco fica cheio, os sites não conseguem gravar ficheiros, os serviços de base de dados podem deixar de funcionar, os servidores de jogos podem não registar registos e alguns serviços podem nem sequer iniciar.

Este erro é geralmente reconhecido pelos seguintes sintomas:

  • Falha ao enviar ficheiros para o servidor
  • Desligamento ou erro do serviço de base de dados
  • Erro "Não resta espaço no dispositivo" a aparecer no painel
  • O servidor de jogo é encerrado porque não consegue iniciar sessão.
  • 500 erros ou páginas em branco ocorrem em sites
Importante: Apagar ficheiros aleatórios em caso de erro de disco cheio é perigoso. Os serviços podem ser corrompidos se o ficheiro de sistema errado for eliminado. Primeiro é necessário determinar qual a pasta que ocupa espaço.

1. Verificando o uso do disco

Primeiro, verifique qual a partição de disco do servidor que está cheia.

df -h

aqui especialmente Usar% área é considerada. Se uma secção for de 90% ou superior, significa que o risco começou. Se estiver 100% cheio, os serviços não conseguirão gravar ficheiros.

2.º Encontre as pastas que ocupam mais espaço

Quando o disco está cheio, o problema são normalmente os registos, backups ou ficheiros de cache acumulados numa única pasta. Verifique pastas grandes, começando no diretório raiz.

du -h --max-depth=1 / 2>/dev/null | sort -h

Este comando mostra quanto espaço ocupam os diretórios de início. Normalmente são verificados os seguintes diretórios:

  • /var/log - Registos de sistema e serviço
  • /casa - Ficheiros de utilizadores e sites
  • /backup - Arquivos de backup antigos
  • /tmp - Arquivos temporários
  • /var/lib/mysql - Ficheiros de base de dados MySQL/MariaDB

3.º Liste ficheiros grandes

Por vezes, um único ficheiro de registo pode crescer até 10 GB ou mais. Para encontrar ficheiros grandes, pode utilizar este comando:

find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null

Este comando lista os ficheiros com mais de 500 MB. Examine os ficheiros resultantes cuidadosamente. Especialmente . log, .velho, . gz, . bak e os ficheiros de cópia de segurança antigos devem ser verificados.

Abordagem segura: Se não sabe qual é o ficheiro, não o apague. Primeiro observe o caminho do ficheiro e o serviço ao qual está ligado.

4. Limpeza segura de ficheiros de registo

Apagar diretamente o ficheiro de registo de um serviço em execução por vezes não produz o resultado esperado. Porque o serviço pode continuar a manter o ficheiro aberto. Portanto, o método mais seguro ao limpar ficheiros de registo grandes é esvaziá-los.

truncate -s 0 /var/log/dosya_adi.log

Exemplo:

truncate -s 0 /var/log/syslog
truncate -s 0 /var/log/messages
truncate -s 0 /var/log/nginx/error.log

5. Limpeza da cache de pacotes

Em sistemas baseados em Ubuntu e Debian, os ficheiros de cache de pacotes podem ocupar espaço em disco com o tempo.

apt clean
apt autoremove -y

Em sistemas CentOS, AlmaLinux ou Rocky Linux:

yum clean all
dnf clean all

6. Verificando backups antigos

Os ficheiros que ocupam mais espaço nos servidores de alojamento e de jogos são geralmente backups antigos. Especialmente se existir um sistema de cópia de segurança automática, poderão ser feitos novos backups todos os dias e os backups antigos não poderão ser eliminados.

find /backup -type f -mtime +7 -name "*.tar.gz" -ls

Este comando lista os backups com mais de 7 dias. Para eliminar depois de ter a certeza:

find /backup -type f -mtime +7 -name "*.tar.gz" -delete
Atenção: Antes de utilizar o comando delete, certifique-se de que verifica quais os ficheiros que serão eliminados com o comando listagem.

7. Evite recarregar com a configuração Logrotate

Mesmo que o disco seja limpo, se a causa não for corrigida, o mesmo problema voltará a ocorrer passados alguns dias. Para tal, a configuração do logrotate deve ser verificada.

nano /etc/logrotate.conf

Exemplo de lógica logrotate simples:

/var/log/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

Esta configuração devolve os ficheiros de registo diariamente, mantém-nos durante 7 dias e compacta os logs antigos.

Erros Comuns

  • Apagar ficheiros do sistema sem saber qual o ficheiro que é
  • Apagar o ficheiro de registo em execução e não reiniciar o serviço
  • Manter cópias de segurança antigas por um período de tempo ilimitado
  • Não verificar as configurações do logrotate
  • Não intervenha até que o disco esteja 100% cheio

Perguntas frequentes

Porque é que o servidor apresenta um erro quando o disco está cheio?
Porque os serviços não podem escrever registos, caches, ficheiros temporários ou bases de dados. Os serviços poderão ser terminados quando a operação de escrita falhar.

É melhor apagar ou esvaziar o ficheiro de registo?
Em vez de eliminar completamente o ficheiro de registo nos serviços em execução truncar É mais seguro esvaziá-lo usando.

Limpei o disco mas o espaço não foi libertado, porquê?
O ficheiro eliminado pode ainda ser mantido aberto por um serviço em execução. Pode ser necessário reiniciar o serviço relevante.

Recomendações de desempenho e segurança

  • Monitorize o uso do disco regularmente.
  • Armazene os backups num disco separado ou numa área de backup remota.
  • Não deixe um serviço em execução durante muito tempo sem utilizar o logrotate.
  • Tome precauções quando o disco atingir o nível de 85%.
  • Não deixe os registos de depuração constantemente abertos nos servidores do jogo.

Este artigo foi preparado especialmente para o PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner