이번 작업은 디스크 사용량을 확인할 수 있는 스크립트입니다.
지정된 디스크 경로들의 사용률을 확인하고, 그중 최대 사용률을 출력합니다.
#!/bin/bash
source /home/shell/env.sh
# 배열 변수에 디스크 경로 저장
max_disk_usage=0
- 최대 디스크 사용률을 저장할 변수 초기화
# disk_path가 없을 경우 101 출력 후 종료
if [ -z "$disk_paths" ]; then
echo 101
exit 0
fi
- disk_paths 배열이 비어있는지 확인합니다.
- 비어있다면 -z 조건이 참
- disk_paths가 비어있을 경우, 101 출력
# 배열 순회하며 각 디스크의 사용률 확인
for disk_path in "${disk_paths[@]}"
- disk_paths 배열의 각 요소에 대해 루프
do
# df 명령어를 사용하여 디스크 사용률 확인
disk_usage=$(df -h $disk_path | awk '{print $5}' | tail -n 1 | sed 's/%//')
- df -h 명령어를 사용하여 disk_path의 디스크 사용률 확인
- awk '{print $5}'는 사용률 컬럼 선택
- tail -n 1은 마지막 줄 선택
- sed 's/%//'는 퍼센트 기호 제거
if [ "${disk_usage}" -ge "${max_disk_usage}" ]
- 현재 디스크 사용률이 최대 사용률보다 크거나 같은지 확인
then
max_disk_usage=$disk_usage
- 조건이 참이면, 최대 사용률을 현재 디스크 사용률로 업데이트
fi
done
echo $max_disk_usage
#!/bin/bash
source /home/shell/env.sh
# 배열 변수에 디스크 경로 저장
max_disk_usage=0
# disk_path가 없을 경우 101 출력 후 종료
if [ -z "$disk_paths" ]; then
echo 101
exit 0
fi
# 배열 순회하며 각 디스크의 사용률 확인
for disk_path in "${disk_paths[@]}"
do
# df 명령어를 사용하여 디스크 사용률 확인
disk_usage=$(df -h $disk_path | awk '{print $5}' | tail -n 1 | sed 's/%//')
if [ "${disk_usage}" -ge "${max_disk_usage}" ]
then
max_disk_usage=$disk_usage
fi
done
echo $max_disk_usage
'리눅스' 카테고리의 다른 글
모니터링 쉘 스크립트 만들기(5) (0) | 2024.05.24 |
---|---|
모니터링 쉘 스크립트 만들기(4) (0) | 2024.05.23 |
모니터링 쉘 스크립트 만들기(2) (0) | 2024.05.21 |
모니터링 쉘 스크립트 만들기(1) (1) | 2024.05.20 |
nginx 업그레이드 (0) | 2024.05.14 |