매우 큰 폴더 크기를 얻는 빠른 방법

매우 큰 폴더 크기를 얻는 빠른 방법

일반적으로 크기가 약 1TB(그 안에 하위 폴더 포함)인 폴더를 처리해야 하며, 저장 용량 제한으로 인해 할당된 용량을 유지하기 위해 폴더를 자주 삭제해야 합니다.

저는 보통 30~40개의 폴더를 갖고 있으며 각 폴더에는 최대 13개의 하위 폴더가 포함되어 있습니다.

폴더 크기를 빠르게 알 수 있는 방법이 있나요?

du -s .상위폴더에서 해봤는데.. 별로 빠르진 않네요 .

도와 주셔서 감사합니다!

답변1

디렉터리 크기는 일반적으로 하루 동안 안정적이며 하루 중 특정 시점에 크기 정보를 빠르게 얻는 것이 중요하므로 가장 좋은 방법은 다음과 같습니다.자동화된임무는 미리 정보를 수집하는 것입니다. 사용자에게 필요한 읽기 권한이 있는 경우 crontab -e매일 밤 오전 2시 30분에 실행되도록 다음 줄을 crontab()에 입력하세요.

30 2 * * * ( date ; du --summarize path1 path2 ; date ) >> $HOME/du_out.txt

결과에 대해 더 확신이 들면 이를 스크립트로 확장하고, 다른 관리자가 이를 유지 관리할 수 있도록 시스템 전체 cron 용량에서 실행하고, 생성 또는 액세스 날짜에 대한 정보를 추가할 수 있습니다.자동으로 삭제여유 공간이 너무 적으면 가장 오래되고 가장 큰 파일을 사용하십시오(아마도 더 오래 보관해야 하는 중요한 디렉토리가 다른 위치로 "승격"되도록 하는 메커니즘이 이미 있을 것입니다).

물론, 이미 jenkins와 같은 본격적인 빌드 시스템을 보유하고 있다면 cron에 대해 제가 말한 모든 것을 잊어버리고 그곳에서 작업으로 생성하세요.

답변2

다음 명령을 사용해 보면 어느 상위 폴더가 대부분의 공간을 차지하고 있는지 확인할 수 있습니다.

for i in parentfolder1 parentfolder2 parentfolder3
do
find $i -printf "%s %p\n"|awk 'BEGIN{sum=0}{sum=sum+$1}END{print sum}';echo $i; done| sed "N;s/\n/ /g"| sort -k1 -nr| sed -n '1p'

관련 정보