disk-usage – No más espacio en disco: ¿Cómo puedo encontrar lo que está ocupando espacio?

Pregunta:

Me he encontrado con un problema en uno de mis servidores que ejecuta 16.04: no queda espacio en el disco.

No tengo idea de lo que está ocupando el espacio. ¿Existe un comando para enumerar los tamaños de directorio actuales, de modo que pueda atravesar y terminar en el directorio ocupando todo el espacio?

Respuesta:

Como siempre en Linux, hay más de una forma de hacer el trabajo. Sin embargo, si necesita hacerlo desde CLI, este es mi método preferido:

Empiezo ejecutando esto como root o con sudo:

du -cha --max-depth=1 / | grep -E "M|G"

El grep es limitar las líneas que regresan a aquellas que regresan con valores en el rango Megabyte o Gigabyte. Si sus discos son lo suficientemente grandes, también puede agregar |T para incluir cantidades de Terabyte. Es posible que obtenga algunos errores en /proc , /sys y / o /dev ya que no son archivos reales en el disco. Sin embargo, aún debería proporcionar una salida válida para el resto de los directorios en la raíz. Después de encontrar los más grandes, puede ejecutar el comando dentro de ese directorio para reducir su camino hacia el culpable. Entonces, por ejemplo, si /var fuera el más grande, podría hacerlo así a continuación:

du -cha --max-depth=1 /var | grep -E "M|G"

¡Eso debería llevarlos a los niños problemáticos!

consideraciones adicionales

Si bien el comando anterior ciertamente funcionará, tuve algunas críticas constructivas en los comentarios a continuación que señalaron algunas cosas que también podría incluir.

  1. El grep que proporcioné podría dar como resultado que se devuelva el valor "K" ocasional si el nombre del directorio o archivo tiene una G o M mayúscula. Mejora tu juego de expresiones regulares para ser más creativo y complejo. por ejemplo, grep -E "^[0-9\.]*[MG]"
  2. Si sabe qué unidad es el problema y tiene otras unidades montadas encima que no desea perder el tiempo en su búsqueda, puede agregar el indicador -x a su comando du . Descripción de la página de manual de esa bandera:

     -x, --one-file-system skip directories on different file systems
  3. Puede ordenar la salida del comando du para que el valor más alto esté en la parte inferior. Simplemente agregue esto al final del comando: | sort -h

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım