perl检测服务是否正常
发布时间:2020-12-16 00:00:10 所属栏目:大数据 来源:网络整理
导读:程序调用远端服务,为了确保可用性最好在使用前进行健康检测,将异常的服务排除。 #!/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 $
程序调用远端服务,为了确保可用性最好在使用前进行健康检测,将异常的服务排除。
#!/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] ."okn"; }else{ print $$_[0] . ':' . $$_[1] ."badn"; } } $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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |