脚本专栏 
首页 > 脚本专栏 > 浏览文章

perl ping检测功能脚本代码

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

我的第一个用于生产环境的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 $@;
        }
}

上一篇:perl中的$a和$b介绍
下一篇:使用 use re debug 查看正则表达式的匹配过程
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。