컴퓨터활용/유닉스

디스크 사용량 조회

멜번초이 2017. 6. 18. 05:58

디스크 사용량을 보는 명령은 df -k 을 사용한다.  이것을 좀 더 응용한 쉘 프로그램을 소개한다.

AIX 에서는 df -k 명령을 이용하면 아래와 같이 나온다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ df -k  
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4          1048576    481888   55%    12328    11/
/dev/hd2          4718592    165192   97%    58400    56/usr
/dev/hd9var      14680064   4061824   73%     9015     1/var
/dev/hd3         10485760   7397560   30%      610     1/tmp
/dev/hd1         16777216   3857024   78%    85819    10/home
/proc                   -         -    -        -      - /proc
/dev/hd10opt      1048576     57332   95%    19828    57/opt
/dev/hd11admin      262144    261776    1%        4     1/admin
/dev/Tivolilv     1048576    889716   16%      336     1/mgr
/dev/applv    90177536  26626236   71%  1297551    18/appsvr
/dev/apllv    94371840  64757048   32%   119783     1/appsvr_log
/dev/viewlv    10485760  10481956    1%      496     1/ccase_view
/dev/comlv      10485760   4108088   61%    11870     2/common
cs

사실 이렇게 봐도 문제는 없지만 어떤 특정 기준값을 정해 놓고 이 이상 사용량인 것만 추출해서 관찰하고 싶을 때를 위해서 별도의 쉘을 작성해 보았다.  여기서는 디스크 사용량이 80 %를 초과하는 것만 걸러서 보는 예제이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
maxusage=80
 
echo "-----------------------------------------------------------------------------------"
echo " o Checking ...  File System over usage ${maxusage}%"
echo "-----------------------------------------------------------------------------------"
 
list=` df -| grep -- | awk '{printf "%s:%s:%s\n", $1,$4,$7 }'`
 
echo "Filesystem               Used     Mounted on "
for name in $list
do
    fs=`echo $name  | cut -d : -1`
    use=`echo $name | cut -d : -2 |sed "s/\%//g"`   # 끝에 붙어 있는 % 를 제거 
    mount=`echo $name | cut -d : -3`
 
    if [ $use -gt $maxusage ]; then
        echo "$fs $use $mount" | awk '{ printf "%-15s  %10d %%     %-10s\n", $1, $2, $3 }'
    fi
 
done
 
echo "-----------------------------------------------------------------------------------"
echo 'To see more detail information, use "'df -k'" command \n' 
 
cs

17 line 에서 awk 에서 포매팅을 할 때 좌측정렬을 하고자 할 때는 -를 붙이는 것이 특징이다.

'컴퓨터활용 > 유닉스' 카테고리의 다른 글

dlopen error : Permission denied  (0) 2017.07.01
디렉토리 사용량 조회  (1) 2017.06.18
일괄 거래 재거래  (1) 2017.06.08
AIX dbx 사용 core 분석  (2) 2017.03.24
티베로 쿼리 실행 쉘 예제  (0) 2016.10.29