서버 운영하다보면 디스크 용량이 가득차는 경우가 있는데 어느 디렉토리에서 용량을 많이 사용하고 있는지 궁금할 때, 각 디렉토리별 용량을 확인하기 위해 필요한 명령어입니다.
du -h --max-depth=1
을 하거나,
du -sh *
을 합니다.
보통은, df -h 로 실제 용량비율을 확인하여 40% 넘을 경우 범인(용량을 많이 사용하는 폴더)을 찾도록 합니다.
계속 반복되는 경우,
shell 스크립트로 해당 경로를 지속적으로 압축해서 옮기고,
30일이 지나면 삭제하는 형태로 관리하는게 좋습니다.
#!/bin/bash
cd /home/logs/
case $? in
0)
[ ! -d backup ] && mkdir backup
find * -mtime +0 | xargs -t -i mv {} backup/{}.bak
cd backup
find *.bak | xargs -t -i tar cfz {}.tar {}
rm -rf *.bak
find * -mtime +30 | xargs -t -i rm -rf {}
;;
*)
echo 'directory not found.'
;;
esac