zl程序教程

您现在的位置是:首页 >  其他

当前栏目

perlping检测功能脚本代码

代码 功能 脚本 检测
2023-06-13 09:14:45 时间

我的第一个用于生产环境的perl脚本,虽然不是很优秀,但也迈出了扎实的一步:)
领导有任务,给一批IP列表,ping每一台机器,如果没有响应就发邮件通知,通知的邮件需要分开,不能通知一个列表,得一封一封的通知.
用到email::send模块,因为需要用到Gmail

复制代码代码如下:


#!/usr/bin/perl
usewarnings;
usestrict;
useEmail::Send;
useEmail::Send::Gmail;
useEmail::Simple::Creator;
my@list=qw/
1.1.1.1
2.2.2.2
3.3.3.3
/;
foreachmy$re(@list){
       my$p=`ping$re-c3`;
       if($p=~/100%packetloss/){
               my$email=Email::Simple->create(
               header=>[
               From   =>"monitor@a.com",
               To     =>"monitor@b.com",
               Subject=>"$re100%packetloss",
],
body=>"$retheserverisdown!\n",
 );
               my$sender=Email::Send->new(
               {mailer=>"Gmail",
               mailer_args=>[
               username=>"monitor@a.com",
               password=>"xxx",
               ]
               }
);
       eval{$sender->send($email)};
       die"Errorsendingemail:$@"if$@;
       }
}