LINUX服务器增加对服务器磁盘空间的监控

新增一个shell脚本放到 /op目录
1.
#!/bin/bash
partition_list=(`df -h | awk 'NF>3&&NR>1{sub(/%/,"",$(NF-1));print $NF,$(NF-1)}'`)
critical=20
notification_email()
{
emailuser='[email protected]'
emailpasswd='13767190570'
emailsmtp='smtp.163.com'
title='Disk Space Alarm'
/opt/sendEmail-v1.56/sendEmail -f $emailuser -t $sendto -s $emailsmtp -u $title -xu $emailuser -xp $emailpasswd
}
crit_info=""
for (( i=0;i<${#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"警告,磁盘空间剩余量不足,请及时清理!!!! ${partition_list[i]} used ${partition_list[((i+1))]}%\n"
fi
fi
done
if [ "$crit_info" != "" ];then
echo -e $crit_info | notification_email
fi
2.
在linux上下载 sendEmail邮件程序命令放到/op目录下面
3.
给disk_check.sh添加可执行权限
chmod 755 /opt/disk_check.sh
4.
解压/opt/sendEmail-v1.56.tar.gz
5.
可以设置一个cron计划任务,让该脚本每隔1小时运行一次
crontab -e

原帖地址 :http://www.heminjie.com/system/linux/1923.html/comment-page-1#comment-3825

6.可以在优化一下,在linux服务能进行外网访问的情况下可以进行发送短信进行告警。
在sh脚本里面可以使用
wget "http://xxxxxxxx" 的方式调用自己短信服务的Servlet方法,实现发送短信告警的功能。

这一段话来实现http的连接。



你可能感兴趣的:(LINUX)