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

perl实现检测服务器中的服务是否正常脚本分享

程序员文章站 2022-04-29 19:13:55
程序调用远端服务,为了确保可用性最好在使用前进行健康检测,将异常的服务排除。 复制代码 代码如下: #!/usr/bin/perl # use strict; u...

程序调用远端服务,为了确保可用性最好在使用前进行健康检测,将异常的服务排除。


#!/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;

}