df -h를 사용하여 약 60%의 사용률을 표시하는 bash 스크립트를 만들어야 합니다.

df -h를 사용하여 약 60%의 사용률을 표시하는 bash 스크립트를 만들어야 합니다.

60% 사용률에 대한 정보를 표시하려면 bash 스크립트를 만들어야 합니다.

답변1

스크립트가 필요하지 않습니다. 최소한의 awk one-liner는 다음과 같습니다.

df -hlP  | awk 'int($5)>60'

출력을 변경하려면 awk 'print' 를 사용하세요.

df -hlP  | awk 'int($5)>60{print "Partition "$1" has only "$4" free."}'

그리고 그것을 메일러에 파이프하세요:

df -hlP  | awk 'int($5)>60{print "Partition "$1" has only "$4" free."}' | mail -s "Disk usage on $(uname -n)" your_monitoring@your_provider.com

크론님 행복하세요 :)

답변2

최선의 선택은 Xymon(http://downloads.sourceforge.net/project/xymon/Xymon/4.3.21/xymon-4.3.21.tar.gz?r=&ts=1438001054&use_mirror=iweb) 시간 경과에 따른 디스크 사용량 추세를 확인할 수 있습니다. "디스크" 열 아래에 있는 아이콘을 선택하면 지금의 모습과 Xymon을 처음 설치했을 때의 모습이 표시됩니다. df의 문제점은 대용량 시스템에서는 시간이 많이 걸릴 뿐만 아니라 다음에 부팅할 때 다시 시작해야 한다는 것입니다. df의 또 다른 문제점은 NFS 공유가 있는 경우 때때로 중단될 수 있다는 것입니다. -l 스위치를 사용하면 로컬 마운트 지점 외부의 모든 항목을 확인하는 것을 방지할 수 있습니다.

Bash를 사용해야 하는 경우 여기에서 시작할 수 있습니다.

#!/bin/bash
ALERT=60
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
usage=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usage -ge $ALERT ]; then
echo "Running out of space \"$partition ($usage%)\" on $(hostname)"
fi
done

답변3

df -h | grep '[6-9][0-9]%\|100%'

사용률이 60% 이상인 모든 항목에 대한 Grep

관련 정보