nfs(매우 큰 xfs 파티션)를 통해 rw로 내보낸 로컬 파일 시스템이 있습니다.
어딘가(누가 또는 어떤 원격 프로세스인지 알 수 없음)가 파일에 쓰거나, 새 파일을 생성하거나, 더 많은 데이터를 추가하기 위해 업데이트하고 있으며 사용 가능한 디스크 공간이 빠르게 부족해졌습니다.
어떤 파일을 다른 곳으로 이동해도 안전한지 확인하기 위해 다음 명령을 고려했습니다.
find . -type f -mtime +15 -size +100M
find . -type f -mmin -2
그러나 현재 증가/쓰기 중인 파일을 (원격으로) 추적하기 위해 find 또는 다른 시스템 유틸리티를 호출하는 일반적인 방법이 있습니까?
답변1
가장 쉬운 방법은 아마도 I/O 작업을 나열하는 것과 iotop
동일하게 사용하는 것 입니다. top
그러면 어떤 프로세스/파일이 가장 많은 데이터를 쓰고 있는지 알 수 있습니다.
NAME
iotop - simple top-like I/O monitor
DESCRIPTION
iotop watches I/O usage information output by the
Linux kernel (requires 2.6.20 or later) and displays
a table of current I/O usage by processes or threads
on the system. At least the CONFIG_TASK_DELAY_ACCT,
CONFIG_TASK_IO_ACCOUNTING, CONFIG_TASKSTATS and CON‐
FIG_VM_EVENT_COUNTERS options need to be enabled in
your Linux kernel build configuration.
답변2
교차 게시 출처:서버 장애
쓰기가 자주 발생하지 않는 경우 다음을 사용할 수도 있습니다.나무:
tree -h -x /my/directory/path > my_current_tree_$(date '+%+Y_%m_%d_%H_%M_%S')
잠시 후 다시 호출한 다음 파일을 비교합니다.
diff --suppress-common-lines --side-by-side my_current_tree*
위의 교차 게시 답변에서 자세한 정보를 확인할 수 있습니다. 그러나 파일을 쓰는 과정은 표시되지 않습니다. 이를 위해 다음을 auditctl
사용할 수 있습니다.철사.