Ubuntu監控load腳本



Ubuntu監控load腳本:

# vi load.sh

按a或i進入編輯模式

#!/bin/bash

Name=`hostname`

IP=`/sbin/ifconfig eth0 | grep "inet addr" | awk -F[:" "]+ '{print $4}'`

Date=`date +%m%d%y`


Load=`/usr/bin/uptime | grep load | awk -F[:" "]+ '{print $14}' | tr -d ","`

Load2=150

if [ $(echo "$Load > $Load2" | bc) -eq 1 ]

then

/usr/bin/touch /log/Load/$Date.log
/usr/bin/top -b -d 1 -n 3 | /usr/bin/head -15 > /log/Load/$Date.log

/usr/bin/mail -s "$Name($IP) Load is $Load" [email protected] < /log/Load/$Date.log
fi

按Esc鍵退出編輯模式

:wq  (保存並退出)

難點說明:

1、浮點數比較大小方法:$(echo "$Load > $Load2" | bc) -eq 1  ,1代表真(即大於),0代表假(即不大於)

2、當Load值(取的第1個值,後2個表示5分鐘和10分鐘內的load)大於150時發郵件通知並截取top的前15行

3、在crontab中執行top命令需要參數(-b -d 1 -n 3,每1秒執行,執行3次),否則不會有信息到log文件裏的



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章