加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl 批量监控主机ping

发布时间:2020-12-15 23:43:41 所属栏目:大数据 来源:网络整理
导读:use HTTP::Date qw(time2iso str2time time2iso time2isoz);use Net::Ping; use Socket;use Net::SMTP;sub send_mail{if (@_ != 2){print "请输入2个参数n";exit 1}; ($m,$n) = @_; #将参数赋值给变量 my $to_address = $m;my $CurrTime = time2iso(time())
use HTTP::Date qw(time2iso str2time time2iso time2isoz);
use Net::Ping;  
use Socket;
use Net::SMTP;
sub send_mail{
if (@_ != 2){print "请输入2个参数n";exit 1};
    ($m,$n) = @_; #将参数赋值给变量  
    my $to_address  = $m;
my $CurrTime = time2iso(time());
    my $to_address  = $m;
    my $mail_user   = 'zhao.yangjian@163.com';
    my $mail_pwd    = 'xxxxxxxxxx';
    my $mail_server = 'smtp.163.com';

    my $from    = "From: $mail_usern";
    my $subject = "Subject: zjcap infon";
    my $info = "$CurrTime--$n";
     my $message = <<CONTENT; 
     $info
CONTENT
    my $smtp = Net::SMTP->new($mail_server);

    $smtp->auth($mail_user,$mail_pwd) || die "Auth Error! $!";
    $smtp->mail($mail_user);
    $smtp->to($to_address);

    $smtp->data();             # begin the data
    $smtp->datasend($from);    # set user
    $smtp->datasend($subject); # set subject
    $smtp->datasend("nn");
    $smtp->datasend("$messagen"); # set content
    $smtp->dataend();
    $smtp->quit();
};

my @array=( '1.1.1.1','2.2.2.2'
               ); 
my $CurrTime = time2iso(time());  
 foreach $host (@array){  
 $p = Net::Ping->new("icmp");  
  if ($p->ping($host,2)) 
      {
        open (A,">>/home/scan/sbin/ping-z.log");
        print A ("$CurrTime---$host is active.n");
      } else
        {
        open (B,">>/home/scan/sbin/ping-z.log");
        print B ("$CurrTime---$host is lost.n")  ;
        send_mail('zhaoyangjian@xx.cn',"$host is lost");
        }; 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读