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; }
相关推荐
一叶梧桐 2020-10-14
lzzyok 2020-10-10
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