在服务器上监控磁盘空间大小并且将警告结果发邮件的实现方案

1.安装邮箱服务器,选择sendmail或者postfix都可以实现(笔者在本地使用的ubuntu,安装的sendmail服务器,线上的是centos并且自带了postfix),安装教程sendmail参考:安装sendmail, 安装postfix参考:安装postfix

2.将需要被被监控的磁盘名称和邮件的接收者和抄送对象都放在单独的配置文件中,比较灵活。(磁盘名称:diskName.conf,邮件的接受者:users_to.conf,抄送对象:users_cc.conf)

3.定义阈值(例如:80%)

4.逐行遍历diskName.conf文件,检查它们是否达到阈值

核心代码:

while read disk_name
do
	for ((i=1;i<=$len;i=i+2));do
		if [ ${disks[i]} -gt $threshold ] && [ "${disks[i - 1]}" = "$disk_name" ];then
			isSend="true"
			echo "$diskWarning"
			diskWarning=$diskWarning"${disk_name} used ${disks[$i]}%,"
		fi
	done
done  < $to_monitor_disk_name

5.如果有达到阈值的磁盘,则将ip,磁盘名称和使用情况通过邮件的方式发送给监控者

核心代码:

/usr/sbin/sendmail -t <

完整代码:完整代码

你可能感兴趣的:(linux)