
Estoy ejecutando un servidor Linux, usamos este servidor como unidad compartida Samba. Desde ayer, de repente, el tamaño de una de las unidades compartidas está aumentando (~ 100 MB cada diez minutos). Hay demasiadas carpetas y subcarpetas en esta unidad compartida. Ahora la unidad compartida se está quedando sin espacio.
Por favor, ayúdenme a encontrar qué carpeta está aumentando. Probé el siguiente comando para obtener el tamaño de los subdirectorios de la unidad compartida. Pero necesito comparar el resultado y, si no tengo suerte, me llevará demasiado tiempo encontrarlo.
du -sh --maxdepth=1
¿Podría sugerirme si hay alguna otra forma de encontrar la transacción de datos en este sistema de archivos?
Respuesta1
Busque archivos modificados recientemente usando el siguiente comando. Mostrará los archivos modificados durante los últimos diez minutos dentro de CARPETA. Aumente el parámetro -mmin -10 para ver cómo se modificó la CARPETA a través del tiempo. Verhombre encontrary buscar-mtimey-mmínpara más detalles:
sudo find FOLDER -xdev -type f -mmin -10 -ls
Otra situación es cuando los archivos eliminados todavía ocupan espacio en el disco que no se recupera debido a que los procesos todavía los utilizan. En este caso, identifique los procesos que utilizan archivos eliminados y finalícelos para recuperar el espacio:
sudo lsof | grep deleted
Buscar el tamaño no ayudará aquí, ya que muchos archivos pequeños pueden ocupar tanto espacio o más que un archivo grande. Verifique también los números de inodo. Además, para obtener el tamaño de todas las carpetas dentro de CARPETA:
sudo find FOLDER -xdev -type d | xargs -I DIR du -sm DIR | sort -nk1
Respuesta2
Puede probar iotop
una herramienta que muestra el uso de E/S por procesos (en otras palabras, qué procesos principales están usando su disco), para que pueda rastrear qué proceso es responsable de consumir el espacio. Otra forma es utilizar inotify
(parte de inotify-tools
) que puede monitorear los directorios en busca de cambios.
O una forma sencilla es utilizar du
de la siguiente manera.
Defina los siguientes alias:
alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'
Luego vaya a alguna carpeta sospechosa y ejecútela big
para mostrarle los archivos y directorios más grandes en el directorio actual. O ejecute big-files
para ver los archivos más grandes de forma recursiva en la carpeta actual.
Nota: Para funcionar correctamente en OSX/BSD (ya que
sort
no tiene-h
), instálelosort
ocoreutils
elimínelo-h
yls
utilícelosort -nr
en su lugar.
Respuesta3
Normalmente uso ncdu
para explorar el uso del espacio en disco, si su carpeta cada vez más grande no bloquea su sistema o el escaneo ncdu, debería poder encontrar mirando qué carpetas parecen anormalmente grandes.