报警脚本,要求如下:
根分区剩余空间小于20%
内存已用空间大于80%
向用户alice发送告警邮件
配合crond每5分钟检查一次
#!/usr/bin/env bash
ECHO1=根分区空间大于80%,请及时清理以勉耽误您服务器得正常使用,系统建议您清理磁盘空间,次方法是进行磁盘的扩增
ECHO2=内存已用空间大于80%,请及时清理内存以勉耽误您服务器得正常使用
rpm -qa |grep mailx &>/dev/null
if [[ $? -ne 0 ]];then
yum -y install mailx &>/dev/null
fi
id alice &>/dev/null
if [[ $? -ne 0 ]];then
useradd alice &>/dev/null
fi
num=`df -Th |grep /$|awk -F'[ %]+' '{print $6}'`
mem=`free -m | awk -F '[ :]+' 'NR==2{printf "%d", ($2-$7)/$2*100}'`
if [[ $num -gt 80 ]];then
echo ${ECHO1}
echo ${ECHO1} | mail -s "The remaining space of the root partition is less than 20%" alice
fi
if [[ $mem -gt 80 ]];then
echo ${ECHO2}
echo ${ECHO2} | mail -s "The remaining space of the root partition is less than 20%" alice
fi