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のもう1つの問題は、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

関連情報