¿Cómo puedo liberar espacio de una carpeta masiva de 39.5GB / var / log /?

47

Acabo de recibir un mensaje del software de análisis de disco predeterminado (Baobab) que solo me queda 1 GB en el disco duro. Después de algunas búsquedas, descubrí que la /var/log/carpeta es la causa de esto.

Algunos archivos / tamaños en /var/log/:

  • kern.log = 12.6 GB
  • ufw.log = 12.5 GB
  • kern.log.1 = 6.1 GB
  • ufw.log.1 = 6.0 GB

Etcétera, etcétera. /var/loges enorme.

¿Puedo eliminar esos archivos o la /var/logcarpeta completa ? ¿O es un GRAN NO NO en Ubuntu?

cuchilla19899
fuente

Respuestas:

39

No debe eliminar toda la carpeta, pero puede eliminar los archivos de registro "empaquetados en la antigüedad" sin dañar su sistema.

Para un usuario doméstico típico, es seguro eliminar cualquier archivo de registro que esté comprimido y tenga una extensión .gz (como puede ver en la imagen).

Estos archivos de registro comprimidos son registros antiguos que están comprimidos para reducir el espacio de almacenamiento y, como usuario promedio, no los necesita.

Seleccione la extensión .gz

Salih Emin
fuente
77
buscar / var / log -type nombre-f "* .gz" -exec rm -f {} \;
diyism
@diyism probé tu código, pero no mucha ayuda. mi directorio de registro todavía usa 6GB de espacio @ _ @
GusDeCooL
1
find /var/log -type f -name "*.gz" -delete, Eliminé los archivos comprimidos y solo liberé alrededor de 1 GB de espacio. ¡No son 50 GB suficientes para el /directorio y el resto de mi disco /home!
Muhammad Gelbana
La PC de mi madre tenía un archivo kern.log de 21 GB de tamaño. Un gran kern.log indica un problema en el kernel de Linux en sí mismo o en algo con lo que está experimentando problemas al tratar. En ambos casos, se recomienda ir al terminal de shell de Linux y ejecutar cat /var/log/kern.logo nano /var/log/kern.log(en la GUI, ejecutar algo como, por ejemplo, gedit /var/log/kern.logo mousepad /var/log/kern.log) y verificar cuál puede ser el problema. Una vez que descubra qué está mal, puede ejecutarlo sudo rm /var/log/kern.log ; sudo telinit 6para eliminar dicho archivo (grande) y reiniciar el sistema operativo.
Yuri Sucupira
En mi caso, esto eliminará solo 15.7 MB de 41 archivos. Los problemas reales aquí son messages(7.7 GB), user.log(7.7 GB), syslog(4.1 GB) y syslog.1(3.5 GB). Esos cuatro archivos suman 23 GB. ¿Alguna forma de eliminarlos, o al menos reducir su tamaño?
Rodrigo
32

No eliminaría toda la carpeta / var / log, eso romperá las cosas.

Simplemente podría destruir los registros como sugiere @jrg, pero a menos que se reinicien las cosas que se escriben en los archivos de registro (principalmente syslogd), eso no recuperará espacio en disco, ya que los archivos continuarán existiendo en un estado eliminado hasta que el los manejadores de archivos están cerrados.

Mejor sería descubrir por qué los registros no se rotan (y luego se eliminan). Se supone que logrotate debe hacer esto por usted, y sospecho que no se ejecuta todas las noches como debería.

Lo primero que haría sería:

sudo /etc/cron.daily/logrotate

Esto debería rotar los archivos de registro (para que kern.log se convierta en kern.log.1); y luego puede eliminar kern.log.1, etc. para liberar espacio en el disco.

Si todo está bien hasta ahora, la siguiente pregunta es por qué esto no sucede automáticamente. Si apaga su computadora por la noche, asegúrese de tener instalado un anacron .

richvdh
fuente
17

Debe mirar los registros y ver qué se les escribe. Mi conjetura es ufw / iptables (está registrando todo el tráfico de red).

ufw: cuando registra todos los paquetes, obtendrá registros grandes. Si no va a revisar los registros, desactive el registro. Si desea monitorear su red, use snort. Snort filtrará los miles de paquetes que recibe y lo alertará sobre tráfico potencialmente problemático.

Supongo que ufw es el culpable y está obteniendo un gran registro en kern.log porque también está registrando paquetes allí.

A veces hay un problema de kernel o hardware que llena los registros. En ese caso, lo mejor es solucionar el problema o presentar un error, deberá revisar los registros para hacerlo.

Si no puede solucionar el problema, puede configurar syslog para que no llene sus registros.

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

Si proporciona más detalles sobre el problema, podemos ayudarlo a depurarlo mejor.

Pantera
fuente
2
Ese es un muy buen punto. Vale la pena descubrir qué está obstruyendo los registros en lugar de simplemente eliminarlos. +1.
richvdh
6

Eliminar /var/loges probablemente una mala idea, pero eliminar los archivos de registro individuales debería estar bien.

En mi computadora portátil, con un disco SSD pequeño, configuré /var/log( /tmpy /var/tmp) como tmpfspuntos de montaje, agregando las siguientes líneas 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

Esto significa que nada en esos directorios sobrevive a un reinicio. Por lo que puedo decir, esta configuración funciona bien. Por supuesto, pierdo la capacidad de mirar registros antiguos para diagnosticar cualquier problema que pueda ocurrir, pero considero que es una compensación justa por el uso reducido del disco.

El único problema que he tenido es que algunos programas (especialmente APT) quieren escribir sus registros en subdirectorios /var/logy no son lo suficientemente inteligentes como para crear esos directorios si no existen. Agregar la línea mkdir /var/log/apten /etc/rc.localsolucionó ese problema particular para mí; dependiendo de qué software haya instalado, es posible que también necesite crear otros directorios.

(Otra posibilidad sería crear un tararchivo simple que contenga solo los directorios y descomprimirlo /var/logen el inicio para crear todos los directorios necesarios y establecer sus permisos de una vez).

Ilmari Karonen
fuente
1
ufw fue el problema, aparentemente configuré el registro en COMPLETO para que registre todo. gracias por la ayuda :)
blade19899