欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

perl ping检测功能脚本代码

程序员文章站 2022-10-08 09:51:14
我的第一个用于生产环境的perl脚本,虽然不是很优秀,但也迈出了扎实的一步 :)领导有任务,给一批ip列表,ping每一台机器,如果没有响应就发邮件通知,通知的邮件需要分开...

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

复制代码 代码如下:

#!/usr/bin/perl
use warnings;
use strict;
use email::send;
use email::send::gmail;
use email::simple::creator;
my @list = qw/
1.1.1.1
2.2.2.2
3.3.3.3
/;
foreach my $re (@list){
        my $p = `ping $re -c 3`;
        if($p=~/100% packet loss/){
                my $email = email::simple->create(
                header => [
                from    => 'monitor@a.com',
                to      => 'monitor@b.com',
                subject => "$re 100% packet loss",
],
body => "$re the server is down!\n",
 );
                my $sender = email::send->new(
                { mailer => 'gmail',
                mailer_args => [
                username => 'monitor@a.com',
                password => 'xxx',
                ]
                }
);
        eval { $sender->send($email) };
        die "error sending email: $@" if $@;
        }
}