현재 디렉터리에서 증가하는 파일을 추적하는 방법

현재 디렉터리에서 증가하는 파일을 추적하는 방법

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사용할 수 있습니다.철사.

관련 정보