I log stanno occupando troppo spazio sul tuo server. Come risolvere il problema?
La maggior parte dei file di log sono archiviati nella directory /var/log, ma non si limitano ad essa. I principi descritti in questa sezione si applicano a tutti i file *.log presenti in qualsiasi directory sul tuo server.
I log sono file che archiviano informazioni sugli eventi del server: attività delle applicazioni e del sistema operativo, vari errori, richieste degli utenti ai siti web e altro ancora. Nel tempo, i log possono occupare una quantit à significativa di spazio su disco, specialmente sotto carico elevato o in presenza di errori software.
Un aspetto critico dei file di log è che, nella maggior parte dei casi, eliminarli può causare problemi al programma che li genera, che si tratti di un server web o persino del sistema operativo stesso.
Inoltre, i log contengono spesso preziose informazioni diagnostiche che possono aiutare a identificare problemi software sul tuo server e a prevenire problemi più gravi. Pertanto, è importante gestirli in modo corretto e attento.
Come identificare i log che possono essere puliti
Utilizza ncdu per individuare i log di grandi dimensioni sul server. Se un file di log è insolitamente grande, controlla le sue ultime voci:
sudo tail /percorso/al/log
Se non ci sono anomalie, controlla l'inizio del file per determinare se il log è cresciuto semplicemente a causa dell'anzianità (presta attenzione alla data delle voci più vecchie):
sudo head /percorso/al/log
Dopo questo, puoi procedere con la pulizia del file.
Se non sei sicuro del motivo per cui il file di log è cresciuto così tanto, è meglio salvarlo e contattare il team di supporto del tuo provider di hosting per chiarimenti.
Come pulire in modo sicuro i log
Il comando truncate cancella il contenuto di un file senza eliminarlo:
sudo truncate -s 0 /var/log/nginx/error.log
Nota separatamente i file che sono log, nonostante la mancanza dell'estensione *.log:
/var/log/btmp/var/log/syslog/var/log/messeges/var/log/secure/var/log/maillog
Questi file possono anche essere puliti in modo sicuro utilizzando il comando truncate.
Un caso speciale è il log situato nella directory /var/log/journal. Puoi trovare maggiori dettagli su come lavorarci in un articolo separato.
Come evitare che i log crescano troppo
Durante l'analisi dei log, potresti notare che alcuni di essi hanno nomi come:
syslog.1yoursite.access.log.1
Questi appaiono quando viene applicata la rotazione dei log, ad esempio utilizzando il programma logrotate. I file vecchi possono essere eliminati o compressi durante la rotazione, risparmiando spazio su disco.
Puoi leggere di più sulla configurazione di questo meccanismo in un articolo separato.