![ディスク容量が90%を超えるとメールを送信するスクリプト[重複]](https://linux33.com/image/77461/%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E5%AE%B9%E9%87%8F%E3%81%8C90%EF%BC%85%E3%82%92%E8%B6%85%E3%81%88%E3%82%8B%E3%81%A8%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%5B%E9%87%8D%E8%A4%87%5D.png)
ディスク使用率が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などのより標準的な監視方法を使用することをお勧めします。