• 【转】perl 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! ", 
     ); 
                    my $sender = Email::Send->new( 
                    { mailer => 'Gmail', 
                    mailer_args => [ 
                    username => 'monitor@a.com', 
                    password => 'xxx', 
                    ] 
                    } 
    ); 
            eval { $sender->send($email) }; 
            die "Error sending email: $@" if $@; 
            } 
    }

    原文链接:http://www.jb51.net/article/33965.htm

  • 相关阅读:
    C基础02天——笔记
    C基础-指针和数组等价转换
    C基础04天—选择排序笔记
    C基础-标准C语言头文件
    C基础-C的关键字
    Ubuntu linux 环境基本使用
    C基础01天——常量变量笔记
    根据评分,用js输出评价星星的样式
    横向滚动条展示 css
    ajax 城市区域选择三级联动
  • 原文地址:https://www.cnblogs.com/schowen/p/3384591.html
Copyright © 2020-2023  润新知