ディスク使用率が90%を超える場合は、電子メール警告を自動的に送信するスクリプトを私のサーバーに実装したいと思います。私のファイルシステムはdata / u01で、マウントポイントは/ u01です。
#!/bin/bash
[email protected]
ALERT=90
df -h | egrep -v 'data/u01/u01' | awk '{ print $5 " " $1 }' | while read output;
do
usep=$(echo $output | awk '{ print $1}' )
echo $usep
if [ $usep -ge ${ALERT%} ]; then
echo "Alert: Almost out of disk space $usep"
df -h | mail -s "Alert: out of disk space $usep" $ADMIN
fi
done
.........
ただし、次のエラーが発生します。
capacity
./iv.sh: line 8: [: capacity: integer expression expected
23%
./iv.sh: line 8: [: 23%: integer expression expected
0%
答え1
-ge
整数が必要です。%
最後のものを削除し、ALERT
次にusep
変更します。
usep=$(echo $output | awk '{ print $1}' | tr -d "%" )
monitパッケージを見てください。これはより標準的であり、監視結果に基づいてアクションを実行することを含む、より多くのタスクを実行できます。
より多くのタスクを実行でき、非常に柔軟で、非常に単純な形式でイベントに基づいてアラートやタスクを生成できるmonitなどのより標準的な監視方法を使用することをお勧めします。