标签:opt 阈值 sendEmail list sh Centos7 使用量 disk check
Centos7下监控磁盘使用量超过阈值自动发送报警邮件
前言
前段时间公司有台Centos7的服务器因为磁盘满了,导致服务不可以,今天有空特来总结一下,如何监控centos系统磁盘,设置阈值,定时检测,自动发送邮件报警。
一、下载安装sendEmail工具
cd /opt #安装到opt目录下
wget http://c aspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz #下载文件
tar -zxvf sendEmail-v1.56.tar.gz #解压到opt目录下
chmod 777 /opt/sendEmail-v1.56/sendEmail #赋予执行权限
-f 表示from,发件人地址
-t 表示to,收件人地址
-s mail服务器域名
-u 主题
-xu 用户名(@之前的)
-xp 用户密码
-m 纯文本信息
-o message-file=/root/… 发送文件中的内容
-a 发送附件 (-m,-o,-a可以同时使用)
二、编写disk_check.sh文件
#!/bin/bash
partition_list=(`df -h | awk 'NF>3&&NR>1{sub(/%/,"",$(NF-1));print $NF,$(NF-1)}'`)
critical=90
notification_email()
{
emailuser='xxxx@xxx.com.cn'
emailpasswd='passwd'
emailsmtp='smtp.exmail.qq.com'
sendto='88888888@qq.com'
title='(101.8)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
echo -e $crit_info | notification_email
fi
文件拷贝到/opt目录下
赋予执行权限
chmod 755 /opt/disk_check.sh
若提示格式错误,可使用dos2unix工具进行格式化
yum install -y dos2unix
dos2unix disk_check.sh
三、运行disk_check.sh
sh /opt/disk_check.sh
四、加入定时任务
crontab -e
*/20 * * * * /opt/disk_check.sh #每20分钟执行一次
标签:opt,阈值,sendEmail,list,sh,Centos7,使用量,disk,check 来源: https://blog.csdn.net/penganchunyan/article/details/116448103
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。