[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

时间: 2016-04-07

[linux]磁盘监控程序并且发EMail的相关文章

急求Linux下局域网内搭建Email服务器方法,!!!在线等!

问题描述 急求Linux下局域网内搭建Email服务器方法,!!!在线等! 5C 我是一个Linux初学者,最近需要搭建一个email邮件服务器,同局域网内主机间可以相互通过这个邮件服务器发邮件,拜托了,这个真的很急!最好有详细的教程和步骤! 解决方案 http://wenku.baidu.com/link?url=KWhkeraxxKKZMNzT6LtX_7BNaGDZXyUgzneTBDgvqebBt5JMpSzCyiNTK7WjXFoqa2j24aERXjTq62OErzw6Hs8ncAc

电子邮件-linux在局域网内搭建Email邮件服务器,有没有什么系统简单的方法?急用

问题描述 linux在局域网内搭建Email邮件服务器,有没有什么系统简单的方法?急用 搭建的邮件服务器在局域网内的主机之间可以相互发邮件,局域网外不行,急用,拜托了.我Linux是个初学者,但这个邮件服务器急需搭建,拜托了! 解决方案 关键是要把你的smtp pop端口在你的路由器或者网关上映射,不关linux的事. 解决方案二: 本身ubuntu server就支持搭建,都是图形界面.只要你识字,智力没问题,再不行稍微google下,肯定可以搞定.

ASP:留言簿自动发E-Mail

ASP本身没有发送邮件的能力,但是如果你希望用ASP来发送E-MAIL(例如:你有一个消息,只想让那些在你的留言薄上留了言的上网者们知道,你希望上网者在你的留言薄上填写完成后,你的留言簿便自动将该消息E-MAIL给留言的上网者),那么你需要安装一个ASP组件.并借助这些组件来帮你实现邮件的自动发送.回复等工作. 如果你的ASP及WEB数据库的运行平台是IIS4(Internet Information Server 4.0),你可以使用CDONTS.DLL.如果你已经缺省安装过NT 4.0 Op

ASP进阶教程Ⅹ:留言簿自动发E-Mail

教程 ASP本身没有发送邮件的能力,但是如果你希望用ASP来发送E-MAIL(例如:你有一个消息,只想让那些在你的留言薄上留了言的上网者们知道,你希望上网者在你的留言薄上填写完成后,你的留言簿便自动将该消息E-MAIL给留言的上网者),那么你需要安装一个ASP组件.并借助这些组件来帮你实现邮件的自动发送.回复等工作.          如果你的ASP及WEB数据库的运行平台是IIS4(Internet Information Server 4.0),你可以使用CDONTS.DLL.如果你已经缺省

Linux磁盘配额简介

什么是磁盘配额 LINUX磁盘配额配置 一,什么是磁盘配额 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间.设置磁盘配额后,可以对每一个用户的磁盘使用情况进行跟踪和控制,通过监测可以标识出超过配额报警阈值和配额限制的用户,从而采取相应的措施.磁盘配额管理功能的提供,使得管理员可以方便合理地为用户分配存储资源,可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行避免由于磁盘空间使用

linux磁盘分区、静态分区和LVM

1.虚拟内存技术,windows通过交换文件来实现,linux通过交换分区来实现.所以windows只有一个分区,而安装linux至少两个分区,其中一个就是交换分区,虚拟内存一定程度上可以解决内存不够的问题. 2.硬盘在使用之前必须分区,硬盘分区有主分区,扩展分区和逻辑分区之分,一块硬盘最多只能有四个主分区,其中一个主分区可以用一个扩展分区来代替,只能有一块扩展分区,这个扩展分区可以划分多个逻辑分区 3.linux磁盘设备和分区命名 第一块IDE硬盘叫做/dev/hda,第二块IDE叫做/dev

Linux磁盘IO监测简介

DB运行产生太多的磁盘IO的话,性能肯定会受到影响.可以借助zabbix这样的工具进行磁 盘IO的监测,或 者自己动手都可以. 我们可以从proc/diskstats中直接获取信息: 7 3 loop3 0 0 0 0 0 0 0 0 0 0 0 7 4 loop4 0 0 0 0 0 0 0 0 0 0 0 7 5 loop5 0 0 0 0 0 0 0 0 0 0 0 7 6 loop6 0 0 0 0 0 0 0 0 0 0 0 7 7 loop7 0 0 0 0 0 0 0 0 0 0

linux磁盘分区

  1.虚拟内存技术,windows通过交换文件来实现,linux通过交换分区来实现.所以windows只有一个分区,而安装linux至少两个分区,其中一个就是交换分区,虚拟内存一定程度上可以解决内存不够的问题. 2.硬盘在使用之前必须分区,硬盘分区有主分区,扩展分区和逻辑分区之分,一块硬盘最多只能有四个主分区,其中一个主分区可以用一个扩展分区来代替,只能有一块扩展分区,这个扩展分区可以划分多个逻辑分区 3.linux磁盘设备和分区命名 第一块IDE硬盘叫做/dev/hda,第二块IDE叫做/d

Linux磁盘配额详解

Linux磁盘配额详解 一.什么是磁盘配额 磁盘配额是用来限制用户和用户组的的磁盘使用额度,可以理解为限制该用户.组在该分区下的使用文件大小.文件数量. 注:磁盘配额是针对用户在分区下的操作,而无法管理用户在整个磁盘的文件,因为一个磁盘若干分区,这是不可控的.二.磁盘配额使用条件 1.磁盘配额实施的对象是硬盘分区,并且Linux的内核必须支持磁盘配额这种技术 2.磁盘配额的记录文件保存在开启磁盘配额分区的根目录下面,它们是aquota.user和aquota.group: 3.磁盘配额只对一般身