centos下磁盘监控告警并发出邮件

本文介绍了如何在CentOS系统中创建一个脚本来监控磁盘使用情况,当磁盘空间达到一定阈值时,通过邮件发送告警。主要步骤包括编写disk_check.sh脚本、设置可执行权限、安装sendEmail邮件程序、测试脚本以及配置cron定时任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

周末发现一台应用服务器应用服务器磁盘满了,之前由于太忙还来不及做,现在要做一个监控告警并发出邮件。

1、直接到/opt下vi disk_check.sh编辑文件

#!/bin/bash
partition_list=(`df -h | awk 'NF>3&&NR>1{sub(/%/,"",$(NF-1));print $NF,$(NF-1)}'`)
critical=$1
echo $1
echo $2
product=$2
dtimes=`date +%Y%m%d%H%M`
notification_email()
{
    emailuser='uroot@163.com'
    emailpasswd='passwd'
    emailsmtp='smtp.163.com'
    sendto='sweetsn@163.com'
    title=$product$dtimes' 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"Warning! ${partition_list[i]} used ${partition_list[((i+1))]}%\n"
            fi
    fi
done
if [ "$crit_info" != "" ];then
    ips=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
    echo -e $ips" "$crit_info | notification_email
fi

Esc :wq保存退出

2、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值