perl实现检测服务器中的服务是否正常脚本分享
程序调用远端服务,为了确保可用性最好在使用前进行健康检测,将异常的服务排除。
代码如下:
#!/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;
} 相关推荐
digwtx 2020-09-14
efeve 2020-09-14
poplpsure 2020-08-17
ITxiaobaibai 2020-07-26
libowenhit 2020-07-23
luckykapok 2020-07-06
hongsheyoumo 2020-06-27
jannal 2020-06-21
lanmantech 2020-06-16
咻咻ing 2020-06-16
weibingbingnet 2020-06-14
woyanyouxin 2020-06-04
houjinkai 2020-06-03
txj 2020-06-02
Chydar 2020-05-15