perl ping检测功能脚本代码
时间:2023-09-27 12:41:47
我的第一个用于生产环境的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,ping,检测功能


猜你喜欢
用JavaScript页面不刷新时全选择,全删除(GridView)
2024-05-11 09:17:20
Python MD5加密实例详解
2021-10-24 20:31:26

RichTextBox 显示图片和word的代码
2023-06-28 18:27:12
用SQL批量插入数据的代码
2024-01-15 04:49:30
Python cookbook(数据结构与算法)保存最后N个元素的方法
2023-08-08 05:06:38

Mac系统下MySql下载MySQL5.7及详细安装图解
2024-01-19 21:36:00

基于Vue实现图书管理功能
2024-04-27 16:16:59

Python中的枚举函数enumerate()的具体用法
2022-06-03 13:33:31

C#实现按数据库邮件列表发送邮件的方法
2024-01-24 02:37:32
antd table按表格里的日期去排序操作
2024-04-28 10:55:56

JavaScript中使用Async实现异步控制
2023-08-23 00:55:54
python format格式化和数字格式化
2021-09-04 16:28:31

基于Django静态资源部署404的解决方法
2021-09-06 11:59:41
JavaScript如何动态监听DOM元素高度详解
2024-05-22 10:32:00

Golang Compare And Swap算法详细介绍
2024-02-19 16:08:02

linux/mac安装mysql忘记密码的解决办法
2024-01-23 23:40:06
Anaconda和Pycharm的安装配置教程分享
2022-10-22 07:12:30

ASP+MSSQL2000 数据库被批量注入后的解决方法第1/2页
2011-04-06 10:50:00
python实现八大排序算法(2)
2023-09-05 06:28:23

Python调用腾讯云短信服务发送手机短信
2021-10-07 16:55:38
