perl實(shí)現(xiàn)檢測服務(wù)器中的服務(wù)是否正常腳本分享
程序調(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)文章
一個(gè)perl擴(kuò)展正則表達(dá)式代碼分析
今天傍晚,莫言在Q群里貼了一個(gè)他寫的正則表達(dá)式,回來翻了翻perlre文檔,基本算是看懂,趕緊記錄下來2013-02-02Perl中使用File::Lockfile確保腳本單實(shí)例運(yùn)行
這篇文章主要介紹了Perl中使用File::Lockfile確保腳本單實(shí)例運(yùn)行的方法,本文直接給出實(shí)例,方法非常簡單,需要的朋友可以參考下2014-11-11perl用grep map求交集、并集、補(bǔ)集的實(shí)例代碼
perl 用grep map求交集、并集、補(bǔ)集的例子,有需要的朋友可以參考下2013-02-02perl命令行參數(shù)內(nèi)建數(shù)組@ARGV淺析
這篇文章主要介紹了perl命令行參數(shù)內(nèi)建數(shù)組@ARGV淺析,本文重點(diǎn)在于講解@ARGV的用法,并通過實(shí)例來說明,需要的朋友可以參考下2014-06-06Perl實(shí)現(xiàn)高水線算法(解決多值比較問題方法)
這篇文章主要介紹了Perl實(shí)現(xiàn)高水線算法(解決多值比較問題方法),從本文代碼示例中還可以學(xué)習(xí)到數(shù)組遍歷、函數(shù)寫法、函數(shù)調(diào)用等知識(shí),需要的朋友可以參考下2015-06-06