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

Soluzione dell'errore disco pieno sul server Linux

Yazdır

Come risolvere l'errore del disco pieno sul server Linux?

Una guida per trovare file di grandi dimensioni, pulire in modo sicuro i log e liberare spazio sul server.

Uno dei problemi più comuni sui server Linux è che il disco si riempie completamente. Quando il disco è pieno, i siti Web non possono scrivere file, i servizi di database potrebbero smettere di funzionare, i server di gioco potrebbero non registrare i registri e alcuni servizi potrebbero non avviarsi affatto.

Questo errore viene solitamente riconosciuto dai seguenti sintomi:

  • Impossibile caricare i file sul server
  • Arresto o errore del servizio database
  • Sul pannello viene visualizzato l'errore "Spazio esaurito sul dispositivo".
  • Il server di gioco si spegne perché non è possibile accedere.
  • Sui siti web si verificano 500 errori o pagine vuote
Importante: Eliminare file casuali in caso di errore del disco pieno è pericoloso. I servizi potrebbero essere danneggiati se viene eliminato il file di sistema sbagliato. Per prima cosa è necessario determinare quale cartella occupa spazio.

1. Controllo dell'utilizzo del disco

Innanzitutto, controlla quale partizione del disco sul server è piena.

df -h

qui soprattutto Utilizzo% viene considerata la zona Se una sezione è pari o superiore al 90%, significa che il rischio è iniziato. Se è pieno al 100%, i servizi non saranno in grado di scrivere file.

2. Trova le cartelle che occupano più spazio

Quando il disco è pieno, il problema solitamente riguarda i log, i backup o i file di cache accumulati in un'unica cartella. Controlla le cartelle di grandi dimensioni, iniziando dalla directory principale.

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

Questo comando mostra quanto spazio occupano le directory home. Di solito vengono controllate le seguenti directory:

  • /var/log - Registri di sistema e di servizio
  • /casa - File utente e sito web
  • /backup - Vecchi file di backup
  • /tmp - File temporanei
  • /var/lib/mysql - File di database MySQL/MariaDB

3. Elenca file di grandi dimensioni

A volte un singolo file di registro può raggiungere i 10 GB o più. Per trovare file di grandi dimensioni, puoi utilizzare questo comando:

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

Questo comando elenca i file superiori a 500 MB. Esaminare attentamente i file risultanti. Particolarmente .tronco d'albero, .vecchio, .gz, .bak e i vecchi file di backup dovrebbero essere controllati.

Approccio sicuro: Se non sai qual è il file, non eliminarlo. Per prima cosa guarda il percorso del file e il servizio a cui è connesso.

4. Pulizia sicura dei file di registro

L'eliminazione diretta del file di registro di un servizio in esecuzione a volte non fornisce il risultato atteso. Perché il servizio può continuare a mantenere aperto il file. Pertanto, il metodo più sicuro quando si puliscono file di registro di grandi dimensioni è svuotare il file.

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

Esempio:

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

5. Pulizia della cache dei pacchetti

Sui sistemi basati su Ubuntu e Debian, i file della cache dei pacchetti potrebbero occupare spazio su disco nel tempo.

apt clean
apt autoremove -y

Sui sistemi CentOS, AlmaLinux o Rocky Linux:

yum clean all
dnf clean all

6. Controllo dei vecchi backup

I file che occupano più spazio sui server di hosting e di gioco sono solitamente vecchi backup. Soprattutto se è presente un sistema di backup automatico, è possibile che ogni giorno vengano eseguiti nuovi backup e che i vecchi backup non vengano eliminati.

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

Questo comando elenca i backup più vecchi di 7 giorni. Per eliminare dopo esserti assicurato:

find /backup -type f -mtime +7 -name "*.tar.gz" -delete
Attenzione: Prima di utilizzare il comando elimina, assicurati di controllare quali file verranno eliminati con il comando di elenco.

7. Impedisci il ricaricamento con l'impostazione Logrotate

Anche se il disco viene pulito, se la causa non viene eliminata, lo stesso problema si ripresenterà dopo alcuni giorni. Per questo è necessario verificare la configurazione di logrotate.

nano /etc/logrotate.conf

Esempio semplice logica logrotate:

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

Questa impostazione restituisce i file di registro quotidianamente, li conserva per 7 giorni e comprime i vecchi registri.

Errori comuni

  • Eliminazione di file di sistema senza sapere di quale file si tratta
  • Eliminazione del file di registro in esecuzione e mancato riavvio del servizio
  • Conservazione dei vecchi backup per un periodo di tempo illimitato
  • Non controllo affatto le impostazioni di logrotate
  • Non intervenire finché il disco non è pieno al 100%.

Domande frequenti

Perché il server restituisce un errore quando il disco è pieno?
Perché i servizi non possono scrivere log, cache, file temporanei o database. I servizi potrebbero arrestarsi quando l'operazione di scrittura non riesce.

È meglio cancellare o svuotare il file di log?
Invece di eliminare completamente il file di registro nei servizi in esecuzione troncare È più sicuro svuotarlo utilizzando.

Ho pulito il disco ma lo spazio non è stato liberato, perchè?
Il file eliminato potrebbe essere ancora mantenuto aperto da un servizio in esecuzione. Potrebbe essere necessario riavviare il servizio in questione.

Raccomandazioni su prestazioni e sicurezza

  • Monitora regolarmente l'utilizzo del disco.
  • Archivia i backup su un disco separato o su un'area di backup remota.
  • Non lasciare un servizio in esecuzione per un lungo periodo senza utilizzare logrotate.
  • Prendere precauzioni quando il disco raggiunge il livello dell'85%.
  • Non lasciare i registri di debug costantemente aperti sui server di gioco.

Questo articolo è stato preparato appositamente per PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner