Shell编程---监控多个(远程主机)磁盘使用情况并邮件报警

23 篇文章 2 订阅
18 篇文章 1 订阅
要求:监控多个(远程主机)磁盘使用情况并邮件报警
分析:
  1. 任何一个分区使用到80%就发送一个邮件/短信通知提醒几个人磁盘的使用情况;
  2. 任何一个分区使用到90%以上就在邮件主题给出警告(warning);
  3. Linux服务器上发送邮件程序我们使用sendmail。
  4. 因为是监控远程主机所以需要提前做好脚本所在主机和被监控主机的免密登录。
解答:
#!/bin/sh
source /etc/profile


#define variable

distantIpList=('111.0.0.1' '111.0.0.2' '111.0.0.3')
emailArray=('meve@qq.com'  'yuki@qq.com')
happenTime=`date  "+%Y-%m-%d  %H:%M:%S" `

for ip in ${distantIpList[*]}

do
	if [ ${ip} == '111.0.0.1' ];then	
		port='1120'	
	elif [ ${ip} == '111.0.0.2' ];then
		port='1121'	
	else
		port='22'
	fi
	
	spaceUsedList=`ssh -p${port} root@${ip} df -h|grep -o [0-9]*%|grep -o '[0-9]\+' `
	
	for spaceUse in ${spaceUsedList}
	do	
		if [ ${spaceUse}  -ge 80 -a ${spaceUse} -le 90 ];then
			for email in ${emailArray[*]}
			do
				echo "NOTICE: Disk space for your server ${ip}, already used ${spaceUse}%,${happenTime}" | mail -s 'Disk Space Notice'  ${email}
			done
			
		elif [ ${spaceUse} -gt 90 ];then
			for email in ${emailArray[*]}
			do
				echo "WARNING: Low disk space for your server ${ip}, already used ${spaceUse}%,${happenTime} " | mail -s 'Disk Space Warning'  ${email}
			done
	
		fi
	
	done
	
done
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值