시간 경과에 따른 디렉터리 크기 추적

시간 경과에 따른 디렉터리 크기 추적

나는 디렉토리를 가지고 있으며 지금부터 그 크기를 매일 기록하고 싶습니다. 즉, 매일 특정 시간에 해당 디렉토리의 크기를 계산하고 날짜와 함께 일부 파일에 추가하고 싶습니다.

노트:디렉터리의 크기는 모든 콘텐츠의 크기를 재귀적으로 나타냅니다.

권장되는 접근 방식은 무엇입니까?

답변1

뭔가를 실행할 수 있습니다du크론 작업에서. GNU 도구를 사용하면 du -sb dir/디렉토리와 그 안에 있는 모든 파일의 크기(디렉토리 이름도 포함되지만 삭제할 수 있음)를 바이트 단위로 반복적으로 제공할 수 있습니다. 를 통해 날짜를 얻을 수 있습니다 date. 예를 들어

$ printf "$(date +"%F %T") $(du -sb /tmp)\n" 
2018-07-03 15:25:57 24246930    /tmp

그런 다음 이를 cron 작업에 넣고 출력을 파일로 보냅니다. ㅏ예약 된 일들매일 06:00에 실행되는 항목은 다음과 같습니다(물론 저는 /tmp단지 예를 들었습니다).

0 6 * * * printf "$(date +"\%F \%T") $(du -sb /tmp)\n" >> /tmp/tmp-size.log

백분율 기호를 이스케이프해야 합니다 cron.

du -sk킬로바이트 단위로 사용하거나 du -sh"사람이 읽을 수 있는" 자동 크기 조정 출력에 사용할 수 있습니다 . 허용되는 옵션은 du시스템에 따라 다를 수 있습니다.

du ... | sed -e 's/[[:blank:]].*//'인쇄된 경로 이름을 제거하려면 du다음과 같이 사용하십시오.

관련 정보