[linux]磁盘监控程序并且发EMail

简介:
以下代码实现磁盘空间小于10G自动发送邮件
#!/bin/sh  

#define alert devel of nagios  
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKOWN=3
above=0

list=`df -h|grep -v "Filesystem"|grep -v "devfs"|awk '{print $6}'`

for disk_name in $list;do
        url=`df -h|grep $disk_name`
        size=`echo $url|awk -F\  '{print "size:" $2}'`;
        used=`echo $url|awk -F\  '{print "used:" $3}'`;
        avail=`echo $url|awk -F\  '{print "avail:" $4}'`;
        capacity=`echo $url|awk -F\  '{print $5}'`;
        mounted=`echo $url|awk -F\  '{print "mounted:" $6}'`;

        percent=`echo $capacity |sed 's/%//g'`
           #echo $percent  
                #echo -e $size $used $avail "capacity:"$capacity $mounted  
       #  if [ "$percent" -ge 70 ];then  
       #         above=1  
       #         echo "the disk $mounted space used above 70%"  
       #         echo $size $used $avail "capacity:"$capacity $mounted  
       #         exit $STATE_WARNING  
       #  else  
       #         above=0  
       #  fi  
       useage=`echo $avail |sed 's/avail://g'|sed 's/G//g'`
       echo $useage
         if [ "$useage" -le 10 ];then
                above=1
                echo $mounted
                echo "the disk $mounted space used less 10G" $size $used $avail "capacity:"$capacity $mounted > warn.txt
                #echo $size $used $avail "capacity:"$capacity $mounted  
                sh mail.sh
                exit $STATE_WARNING
         else
                above=0
         fi

done;

if [ "$above" -eq 0 ];then
         echo "the disk used of space normal"  
         exit $STATE_OK
else
         echo "the disk used state unknow"  
         exit $STATE_CRITICAL
fi



# !/bin/sh  

from_name="from@zhl"
from="xxxxx@yyyy.com"
to="xxxxx@yyyy.com"

email_title="10.18.102.141 disk space less then 10G"
email_content="/home/work/watchdisk/warn.txt"
email_subject="10.18.102.141 disk space less then 10G"

echo -e "To: \"${email_title}\" <${to}>\nFrom: \"${from_name}\" <${from}>\nSubject: ${email_subject}\n\n`cat ${email_content}`" | /usr/sbin/sendmail -t




目录
相关文章
|
3月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
607 4
|
4月前
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
2月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
37 1
|
3月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
58 0
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
41 0
|
4月前
|
存储 监控 Linux
|
4月前
|
Prometheus 监控 Ubuntu
在Linux中,如何进行磁盘性能监控?
在Linux中,如何进行磁盘性能监控?
|
4月前
|
存储 监控 Linux
在Linux中,如何管理磁盘配额?
在Linux中,如何管理磁盘配额?
|
4月前
|
监控 Linux
在Linux中,如何监控磁盘I/O性能?
在Linux中,如何监控磁盘I/O性能?
下一篇
无影云桌面