abstract:程序調(diào)用遠(yuǎn)端服務(wù),為了確保可用性最好在使用前進(jìn)行健康檢測,將異常的服務(wù)排除。#!/usr/bin/perl # use strict; use IO::Socket; my @servers; $servers[0]=['180.153.100.93',2222]; $servers[1]=['180.153.100.93',22];
程序調(diào)用遠(yuǎn)端服務(wù),為了確保可用性最好在使用前進(jìn)行健康檢測,將異常的服務(wù)排除。
#!/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; }
更多關(guān)于perl實(shí)現(xiàn)檢測服務(wù)器中的服務(wù)是否正常腳本分享請關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!