메뉴 닫기

디스크관리 툴 duf 설치 및 활용하여 디스크 모니터링 해보기

Ubuntu22.04 OS 환경에서 테스트 진행하였습니다. 

 

duf – 강력한 디스크 사용량 모니터링 툴

설명:

duf(Disk Usage/Free)는 디스크 공간 사용량을 컬러풀한 UI로 시각적으로 표시하는 CLI 툴입니다.

기본 df 명령어보다 보기 편하고, 더 많은 기능을 제공합니다.

주요 특징:

  • 보기 쉬운 컬러풀한 인터페이스
  • 마운트된 디스크, 네트워크 드라이브, tmpfs 등 자동 감지
  • 필터링, 정렬 기능 제공
  • JSON 출력 지원 → 스크립트 자동화 가능
  • Linux, macOS, Windows에서 사용 가능

 

1. duf 설치 방법

 

# sudo apt update && sudo apt install -y duf

 

2. duf 사용 방법

 

# duf  / 기본 실행 (모든 디스크 공간 표시)

 

duf를 활용한 스크립트 자동화 방법

 

duf는 JSON 형식의 출력을 지원하므로, 디스크 사용량을 모니터링하고 자동 알림을 보내는 스크립트를 만들 수 있습니다.

 

특정 디렉터리의 사용량이 일정 이상이면 알림 (예: 80% 이상) / 예시에서는 메일 발송 테스트를 위해 5%로 설정하였습니다.

! 아래 스크립트는 duf --json을 활용하여 특정 마운트 포인트의 사용량이 80% 이상일 때 경고 메시지를 출력하거나 이메일을 보냅니다.

! 아래 스크립트 실행을 위하여 jq 패키지가 필요합니다. jq는 JSON 데이터를 파싱하는 CLI 도구로, duf --json 출력을 처리하는 데 필요합니다.

! 아래 스크립트 실행을 위해여 메일 전송 패키지를 설치해야 합니다. 

# apt install -y jq mailutils


#!/bin/bash

# 알림을 보낼 이메일 주소
EMAIL=”ekzm112233@smileserv.com”
SENDER=”ekzm112233@smileserv.com”

# 모니터링할 마운트 포인트
MOUNT_POINT=”/”

# duf 실행 결과에서 사용량 추출
USED=$(duf –json | jq -r –arg MOUNT “$MOUNT_POINT” ‘.[] | select(.mount_point == $MOUNT) | .used’)
TOTAL=$(duf –json | jq -r –arg MOUNT “$MOUNT_POINT” ‘.[] | select(.mount_point == $MOUNT) | .total’)

# 사용량 퍼센트 계산
if [[ -n “$USED” && -n “$TOTAL” && “$TOTAL” -gt 0 ]]; then
USAGE=$(( USED * 100 / TOTAL ))
else
USAGE=0
fi

# 디버깅 출력 (현재 값 확인)
echo “디스크 사용량: $USAGE%”

# 사용량이 5% 이상이면 경고 메시지 출력 및 이메일 발송 # 테스트를 위하여 5%로 설정하였습니다. 
if [[ “$USAGE” -ge 5 ]]; then
echo “WARNING: Disk usage on $MOUNT_POINT is at $USAGE%!” | mail -s “Disk Usage Alert” -r “$SENDER” “$EMAIL”
echo “Alert sent to $EMAIL”
fi


실행 방법:

# chmod 700 disk_alert.sh
# ./disk_alert.sh

메일을 정상적으로 받아볼 수 있습니다. 

해당 스크립트를 cron에 등록하여 주기적인 스크립트 실행을 통해 디스크 용량 관리가 가능합니다.

3. duf vs df 비교

기능 df duf
컬러풀한 UI
JSON 출력 지원
네트워크 드라이브 필터링
마운트 타입별 보기
실시간 갱신

4. duf 제거 방법

 

# sudo apt remove –purge -y duf

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x