Come posso liberare spazio da un'enorme cartella da 39,5 GB / var / log /?


46

Ho appena ricevuto un messaggio dal software di analisi del disco predefinito (Baobab) che mi rimane solo 1 GB sul disco rigido. Dopo alcune ricerche, ho scoperto che la /var/log/cartella è la causa di questo.

Alcuni file / dimensioni in /var/log/:

  • kern.log = 12,6 GB
  • ufw.log = 12,5 GB
  • kern.log.1 = 6.1 GB
  • ufw.log.1 = 6.0 GB

Et cetera et cetera. /var/logè enorme.

Posso cancellare quei file o l'intera /var/logcartella? O è un GRANDE NO NO in Ubuntu?

Risposte:


39

Non è necessario rimuovere l'intera cartella ma è possibile rimuovere i file di registro "Old-Packed" senza danneggiare il sistema.

Per un tipico utente domestico, è sicuro rimuovere qualsiasi file di registro compresso e con estensione .gz (come puoi vedere nella figura).

Questi file di registro compressi sono vecchi registri compressi con gzip per ridurre lo spazio di archiviazione e, come utente medio, non sono necessari.

Seleziona l'estensione .gz


7
find / var / log -type f -name "* .gz" -exec rm -f {} \;
Diyismo,

@diyism ho provato il tuo codice, ma non molto di aiuto. la mia
directory di

1
find /var/log -type f -name "*.gz" -delete, Ho rimosso i file compressi e ho liberato solo 1 GB di spazio. 50 GB non sono sufficienti per la /directory e il resto del mio disco per /home!
Muhammad Gelbana,

Il PC di mia madre aveva un file kern.log di 21 GB di dimensione. Un grande kern.log indica un problema nel kernel Linux stesso o in qualcosa che sta riscontrando problemi nella gestione. In entrambi i casi, si consiglia di andare al terminale della shell Linux ed eseguire cat /var/log/kern.logo nano /var/log/kern.log(nella GUI, eseguire qualcosa come eg gedit /var/log/kern.logo mousepad /var/log/kern.log) e verificare quale potrebbe essere il problema. Una volta che hai capito cosa c'è che non va, puoi eseguirlo sudo rm /var/log/kern.log ; sudo telinit 6per eliminare tale (grande) file e riavviare il sistema operativo.
Yuri Sucupira,

Nel mio caso, questo rimuoverà solo 15,7 MB di 41 file. I veri problemi qui sono messages(7,7 GB), user.log(7,7 GB), syslog(4,1 GB) e syslog.1(3,5 GB). Quei quattro file sommano 23 GB. Qualche modo per rimuoverli o almeno ridurne le dimensioni?
Rodrigo,

32

Non eliminerei l'intera cartella / var / log - ciò spezzerà le cose.

Potresti semplicemente distruggere i log come suggerisce @jrg - ma a meno che le cose che scrivono nei file di log (principalmente syslogd) vengano riavviate che non ti riguadagnino spazio sul disco, poiché i file continueranno a esistere in uno stato cancellato fino a quando i filehandle sono chiusi.

Meglio sarebbe scoprire perché i log non vengono ruotati (e successivamente eliminati). logrotate dovrebbe fare questo per te, e sospetto che non verrà eseguito ogni notte come dovrebbe.

La prima cosa che vorrei fare sarebbe:

sudo /etc/cron.daily/logrotate

Questo dovrebbe ruotare i file di registro (così kern.log diventa kern.log.1); e puoi quindi eliminare kern.log.1 ecc per liberare spazio su disco.

Se finora tutto è andato a buon fine, la domanda successiva è perché ciò non accade automaticamente. Se di notte spegni il computer, assicurati di aver installato anacron .


17

Dovresti guardare i log e vedere cosa viene scritto su di loro. La mia ipotesi è ufw / iptables (stai registrando tutto il traffico di rete).

ufw - quando registri tutti i pacchetti, otterrai registri di grandi dimensioni. Se non si intende rivedere i registri, disattivare la registrazione. Se desideri monitorare la tua rete, usa snort. Snort filtrerà attraverso le migliaia di pacchetti che ricevi e ti avviserà del traffico potenzialmente problematico.

Suppongo che uww sia il colpevole e stai ottenendo un log di grandi dimensioni in kern.log perché stai registrando anche i pacchetti lì.

A volte c'è un problema kernel o hardware che riempie i registri. In tal caso, è preferibile risolvere il problema o presentare un bug, è necessario rivedere i registri per farlo.

Se non riesci a risolvere il problema, puoi configurare syslog per non riempire i tuoi log.

Vedi http://manpages.ubuntu.com/manpages/precise/man5/syslog.conf.5.html

Se fornisci maggiori dettagli sul problema, possiamo aiutarti a eseguirne il debug.


2
Questo è un ottimo punto. Vale la pena scoprire cosa sta ostruendo i registri piuttosto che eliminarli. +1.
richvdh,

6

L'eliminazione /var/logè probabilmente una cattiva idea, ma l'eliminazione dei singoli file di registro dovrebbe essere OK.

Sul mio laptop, con un piccolo disco SSD, ho impostato /var/log(e /tmpe /var/tmp) come tmpfspunti di montaggio, aggiungendo le seguenti righe a /etc/fstab:

temp        /tmp        tmpfs   rw,mode=1777    0   0
vartmp      /var/tmp    tmpfs   rw,mode=1777    0   0
varlog      /var/log    tmpfs   rw,mode=1777    0   0

Ciò significa che nulla in quelle directory sopravvive al riavvio. Per quanto ne so, questa configurazione funziona bene. Naturalmente, perdo la capacità di esaminare i vecchi registri per diagnosticare eventuali problemi che potrebbero verificarsi, ma ritengo che sia un giusto compromesso per il ridotto utilizzo del disco.

L'unico problema che ho avuto è che alcuni programmi (in particolare APT) vogliono scrivere i loro log in sottodirectory di /var/loge non sono abbastanza intelligenti da creare quelle directory se non esistono. L'aggiunta della linea mkdir /var/log/aptin /etc/rc.localrisolto quel particolare problema per me; a seconda del software installato, potrebbe essere necessario creare anche altre directory.

(Un'altra possibilità sarebbe quella di creare un semplice tararchivio contenente solo le directory e di decomprimerlo /var/logall'avvio per creare tutte le directory necessarie e impostare le autorizzazioni tutte in una volta.)


1
uww era il problema a quanto pare ho impostato la registrazione su COMPLETO in modo che registri tutto. grazie per l'aiuto :)
blade19899
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.