디스크 공간이 가득 찬 위치를 실시간으로 식별

디스크 공간이 가득 찬 위치를 실시간으로 식별

5TB RAID 볼륨을 마운트했는데 /data항상 100%에 가까웠습니다. 현재 99% 찼으므로 68GB를 사용할 수 있습니다 du -sh.

100%에 도달하면 사용자가 쓸 수 없으며, 시간이 얼마나 걸리더라도 100GB 정도의 여유 공간을 확보할 수 있는 일부 데이터를 지웁니다. 프로세스가 반복됩니다.

/data내 질문은 루트 액세스 권한이 있는 관리자로서 누가 또는 어떤 활동이 시스템에서 활발하게 작업하여 가장 많은 데이터 디스크가 가득 차 있는지 이해할 수 있도록 아래에서 가장 많이 기록되는 폴더를 식별할 수 있는 방법이 있습니까 ?

XFS 파일 시스템입니다. 레이아웃은 기본적으로 이렇습니다

/data
/data/Project1/
/data/Project2/
/data/Project_n/
/data/users/
/data/users/x001/
/data/users/x002/
/data/users/x00_n/

최근에 어떤 프로젝트# 또는 어떤 userx# 폴더가 성장했는지 찾고 싶습니다. 이것은 /data 아래의 폴더 트리로 들어가야 하는 깊이입니다.

답변1

읽고 man lsof다음과 같은 일을 해보세요

sudo lsof +D / data

답변2

이 명령은 디렉터리의 각 디렉터리에 대한 디스크 사용량 요약을 표시합니다./데이터/디렉토리 트리.

# find /data/* -type d -exec du -sh {} \; | sort -hr

이 명령은 디렉토리에서 가장 큰 10개의 디렉토리를 표시합니다./데이터/디렉토리 트리.

# find /data/* -type d -exec du -sh {} \; | sort -hr | head

파일 표시 위치/데이터/25M 이상의 디렉토리 트리

# find /data/ -size +25M -exec ls -l {} \; | sort -nr -k5

답변3

무엇이 디스크 공간을 사용하고 있는지 확인하고 사용 중에 정리할 수 있는 편리한 대화형 도구입니다 ncdu(예: ncurses du).

Debian/Ubuntu에서 apt를 통해 설치됩니다(전체는 아니더라도 대부분의 배포판 저장소에 있어야 함).

귀하의 경우(사용자에게 전체 읽기 권한이 있다고 가정) 다음과 같이 실행하십시오.

ncdu /data

스캔하는 데 시간이 좀 걸리지만 크기 순서대로 나타납니다. 언제든지 디렉터리를 드릴다운하여 파일/디렉터리를 삭제할 수 있습니다.

관련 정보