perl实现检测服务器中的服务是否正常脚本分享
作者:自在如风听雨
时间:2026-06-29
浏览:0
使用Perl脚本结合IO::Socket模块,逐一连接目标IP和端口检测服务状态:连接成功标记正常,失败标记异常,超时1秒,循环指定时长,可提前筛除异常服务。
本文目录
程序调用远端服务,这事儿看着简单,但真正跑起来最怕什么?服务挂了、端口不通、超时卡死……所以在正式使用前,先做个健康检测,把那些异常的服务提前筛掉,这才是靠谱的做法。下面这个脚本就是用 Perl 实现的,思路很直接:挨个尝试连接目标 IP 和端口,连得上就标记为正常,连不上就标记为异常,然后循环检测一段时间。

复制代码 代码如下:
#!/usr/bin/perl
#
use strict;
use IO::Socket;
my @servers;
$servers[0]=['180.153.100.93',2222];
$servers[1]=['180.153.100.93',22];
$servers[2]=['180.153.100.93',80];
my $i=0;
my $interval=3;
my $count=int(60/$interval);
while($i < $count){
foreach (@servers){
if(fetch_server_status(@$_)){
print $$_[0] . ':' . $$_[1] ."ok\n";
}else{
print $$_[0] . ':' . $$_[1] ."bad\n";
}
}
$i++;
sleep $interval;
}
sub fetch_server_status(){
my($ip,$port)=@_;
my $socket=IO::Socket::INET->new(
PeerAddr => $ip,
PeerPort => $port,
Timeout => 1,
);
if(!$socket){
return 0;
}else{
return 1;
}
$socket->close;
}
作者最新文章
哔哩哔哩创作激励计划开通条件是什么
2026-10-13 16:08
3DMAX安装失败解决方法:全红叉及组件无法安装处理教程
2026-10-06 14:48
华为擎云亮相金融展,高效安全助力行业升级
2026-09-24 16:59
pandas的数据格式怎么转换和设置方法教程
2026-09-24 13:23
postman设置环境变量的方法详细操作教程
2026-09-23 17:18
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































