请问监控Linux服务器磁盘容量的脚本怎么写?

请问监控Linux服务器磁盘容量的脚本怎么写?,第1张

看看下面这个脚本(注意要用英文的标点符号):

#!/bin/bash

partion_list=( 'df -h | awk ‘NF>3&&NR>1{sub(/%/,””,$(NF-1))print $NF,$(NF-1)}’' )

critical=90

notification_email()

{

emailuser='user@qq.com' “发送邮件地址”

emailpasswd='password'“成功开启POP3/SMTP服务,在第三方客户端登录时,密码框请输入的授权码”

emailsmtp='smtp.qq.com'

sendto='user2@qq.com' “接收邮箱地址”

title='Disk Space Alarm' “邮件标题”

/usr/local/bin/sendEmail -f $emailuser -t $sendto -s $emailsmtp -u $title -xu $emailuser -xp $emailpasswd -m $emailmessage

}

crit_info=””

for (( i=0i<${#partition_list[@]}i+=2 ))

do

if [ “${partition_list[ ((i+1)) ]}” -lt “$critical” ]then

echo “ok! ${partition_list[i]} used ${partition_list[ ((i+1)) ]}%”

else

if [ “${partition_list[ ((i+1)) ]}” -gt “$critical” ]then

crit_info=$crit_info”Warning!!! ${partition_list[i]}

used ${partition_list[ ((i+1) ] }%\n”

fi

fi

done

if [ “$crit_info” != ”” ]then

echo -e $crit_info | notification_email

fi

上面脚本的功能是监控每个磁盘分区,当磁盘分区使用空间超过90%时,就通过sendEmail来发送邮件告警。sendEmail是个开源工具,可以从http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz下载;

解压后把sendEmail拷贝到/usr/local/bin下即可。

统:centos 5.5 1.监控服务器状态脚本内容:

01 #!/bin/bash02

IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`

03

04 cpu_num=`grep -c 'model name' /proc/cpuinfo` 05

06 load_15=`uptime | awk '{print $NF}'` 0708

average_load=`echo "scale=2a=$load_15/$cpu_numif(length(a)==scale(a)) print 0print a" | bc`

09

10 average_int=`echo $average_load | cut -f 1 -d "."` 11

12 load_warn=0.70 13

14 if (($average_int >0))then

15 echo "$IP服务器15分钟的系统平均负载为$average_load,超过警

戒值1.0,请立即处理!!!" | mailx -s "$IP 服务器系统负载严重告警!!!

var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script)

" rocdk@163.com 16 else 17

18 load_now=`expr $average_load \>$load_warn` 19

20 if (($load_now == 1))then

21 echo "$IP服务器15分钟的系统平均负载达到 $average_load,超过警戒值0.70,请及时处理。" | mailx -s "$IP 服务器系统负载告警

" rocdk@163.com 22 fi 2324 fi 25

26 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."` 27

28 if (($cpu_idle <20))then

29

echo "$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时

处理。" | mailx -s"$IP 服务器CPU告警" rocdk@163.com

30 fi 31

32 swap_total=`free -m | grep Swap | awk '{print $2}'` 33

猜你喜欢租赁一体电脑dell电脑特约维修苹果肌注射后休息苹果店怎么分期付款苹果6s64g分期付款苹果6s零首付分期付款加固笔记本品牌孩子 培训 电脑手机微店 app苹果6s5.5分期付款

34 swap_free=`free -m | grep Swap | awk '{print $4}'` 35

36 swap_used=`free -m | grep Swap | awk '{print $3}'` 37

38 if (($swap_used != 0))then

39swap_per=0`echo "scale=2$swap_free/$swap_total" | bc` 40

41swap_warn=0.20 42

43swap_now=`expr $swap_per \>$swap_warn` 44

45 if (($swap_now == 0))then

46 echo "$IP服务器swap交换分区只剩下 $swap_free M 未使用,剩余不足20%,使用率已经超过80%,请及时处理。" | mailx -s "$IP 服务器

内存告警" rocdk@163.com 47 fi 4849 fi 50

51

#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`

52 disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print

1.服务器监控中设置执行脚本主要用于通知管理员和临时发生故障时执行相应脚本采取相应修复措施

2.Active

Directory中管理员通过一个脚本通过软件分发的方式就将几百个客户端的电脑的管理员Administrator账号禁用或更改为公司统一的密码,此时脚本在管理上起到了很大的作用!

3.在服务器监控方面,服务器出现故障前有不良现象,聪明的管理员经常不在公司,但服务器在有些常见故障之前已经得到自动修复,这都是脚本的功能,通过强劲的监控利用脚本调动相应的应用程序等等。使得服务器自动恢复能力怎强,脚本起了十分重要的作用!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/279549.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存