奉献一篇磁盘检测报警脚本

#!/usr/bin/perl
use strict;
use Net::SMTP;
my $max=0.8;
my @msg;
open(FH,"df -P|");
foreach my $data (<FH>){
   if(($data=~/^\//)and!($data=~/\/mnt/)){
         my(@arr)=split " ",$data;
         if($arr[2]/$arr[1]>$max){
              push(@msg,"$arr[5] $arr[4]" );  
           }
    }
}
if(defined(@msg)){
   foreach my $cont (@msg){
       my $mailhost='127.0.0.1';
        my  $mailfrom='[email]lanlan@139.com[/email]';
        my  $mailto='[email]zhengjun.zhu@163.com[/email]'
        my $subject="Disk Warn";
        my $smtp = Net::SMTP->new($mailhost,Hello =>"localhost",Timeout => 30,Debug => 0,); 
                $smtp->mail($mailfrom); 
                $smtp->to($mailto); 
                $smtp->data(); 
                $smtp->datasend("To: $mailto\n"); 
                $smtp->datasend("From: $mailfrom\n"); 
                $smtp->datasend("Subject: $subject\n"); 
                $smtp->datasend("\n"); 
                $smtp->datasend("磁盘警告:$cont\n");
                $smtp->dataend(); 
        $smtp->quit; 
      }
}


本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/116684,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值