Shell 脚本 100 实例-- 05 实时监控本机内存和硬盘剩余空间
脚本需求:
实时监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M 时,发送报警邮件给root 管理员
#! /bin/bash
# 提取根分区剩余空间
disk_size=`df / | grep / | awk '{print $4}'`
# 提取内存剩余空间
mem_size=`free -m | awk '/Mem/{print $4}'`
while:
do
# 注意 磁盘提取的数值单位为 kb、 内存提取的单位为 Mb
if [ "$disk_size" <= 512000 ];then
mail -s Warning root << EOF
/ 分区容量低于 1000MB,请及时处理!!!
EOF
fi
if [ "$mem_size" <= 500 ];then
mail -s Warning root << EOF
Mem 容量低于 500MB ,请及时处理!!!
EOF
fi
done
脚本解释:
提取分区、内存的剩余使用量,对其进行 if 判断如果超量则通过 mail 报警
脚本输出:
您在 /var/spool/mail/root 中有新邮件
[root@localhost script]# tail -3 /var/spool/mail/root
Mem 容量低于 500MB ,请及时处理!!!