ディスク容量が90%を超えるとメールを送信するスクリプト[重複]

ディスク容量が90%を超えるとメールを送信するスクリプト[重複]

ディスク使用率が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などのより標準的な監視方法を使用することをお勧めします。

関連情報