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;

}

(0)

相关推荐

  • 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

  • 一个检测OpenSSL心脏出血漏洞的Python脚本分享

    什么是SSL? SSL是一种流行的加密技术,可以保护用户通过互联网传输的隐私信息.网站采用此加密技术后,第三方无法读取你与该网站之间的任何通讯信息.在后台,通过SSL加密的数据只有接收者才能解密. SSL最早在1994年由网景推出,1990年代以来已经被所有主流浏览器采纳. 什么是"心脏出血"漏洞? SSL标准包含一个心跳选项,允许SSL连接一端的电脑发出一条简短的信息,确认另一端的电脑仍然在线,并获取反馈.研究人员发现,可以通过巧妙的手段发出恶意心跳信息,欺骗另一端的电脑泄露机密信息

  • 启动sqlserver服务的bat脚本分享

    声明下这个脚本不是我写的,忘了是从哪看到的了,在此分享给大家,因为在我的理解中技术就是用来分享的,希望原创作者看到了不要介意. 1.创建个文本,将后缀名改成.bat 2.将下边语句粘贴进去,然后保存即可 复制代码 代码如下: @echo off for /f "skip=3 tokens=4" %%i in ('sc query MSSQLSERVER') do set "zt=%%i" &goto :next :next if /i "%zt%&

  • svn服务器启动和svn服务器重启、停止等操作脚本分享

    复制代码 代码如下: #!/bin/bashcase "$1" instart)        svnserve -d -r /svndata        svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`        if [ $svnport -eq 3690 ]        then                echo "SVN Server Already

  • windows服务器中检测PHP SSL是否开启以及开启SSL的方法

    一.检测服务器是否开启了SSL 复制代码 代码如下: <?phpphpinfo();?> 检查页面的openssl栏目,如果该栏目的OpenSSL support的值为enabled就说明SSL处于开启状态了,否则是关闭状态. 二.开启SSL的方法 1. 打开php.ini  把:extension=php_openssl.dll把前面的符号去掉.2. 重新启动 apache 或 iis ,重新检查 SSL 开启状态.如果以上操作无效的话,则还需要进行下一步操作(这一步在很多情况下不是必须的,

  • 在Linux服务器中配置mongodb环境的步骤

    1.到mongodb官网下载一个合适的linux环境安装包 如下图,放到本地的某个角落,要记得位置哦~ 2.然后你需要有一个服务器,并进入 ssh root@你的IP //回车输入密码 3.把下载好的安装包传到服务中 另开ssh窗口(command+n),如果是windows就打开新的cmd窗口,因为我们要操作本地文件,之前的窗口我们已经登了服务器了. 传的方法很多,我只演示其中一种啦. cd "安装包所在文件夹" // 去你刚才安装包放的位置 scp "本地文件"

  • CentOS7服务器中apache、php7以及mysql5.7的安装配置代码

    CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgrade yum install net-tools 安装apache 关闭SELinux 编辑器打开 etc/selinux/config 文件,找到 SELINUX=enforcing 字段,将其改成 SELINUX=disabled ,并重启设备. yum -y install httpd mod_ssl 配置防火墙 firewall-cmd --permanent --add-port=8

  • Python实现检测服务器是否可以ping通的2种方法

    好想在2014结束前再赶出个10篇博文来,~(>_<)~,不写博客真不是一个好兆头,至少说明对学习的欲望和对知识的研究都不是那么积极了,如果说这1天的时间我能赶出几篇精致的博文,你们信不信,哈哈,反正我是信了... python检测服务器是否ping通的2种方法 1.第一种比较挫,就是用ping,python调用shell,这个适用于较少的服务器数量,几百台已经很慢了(当然是说python同步的方法,要是nodejs异步方式还是很快的,但是nodejs CPU计算不行,所以尝试了下只能200台

  • python 多线程实现检测服务器在线情况

    需要ping一个网段所有机器的在线情况,shell脚步运行时间太长,用python写个多线程ping吧,代码如下: #!/usr/bin/python #coding=utf-8 ''' Created on 2015-8-4 @author: Administrator ''' import threading,subprocess from time import ctime,sleep,time import Queue queue=Queue.Queue() class ThreadUr

  • python检测服务器是否正常

    经常使用python检测服务器是否能ping通, 程序是否正常运行(检测对应的端口是否正常) 以前使用shell脚本的写法如下: 复制代码 代码如下: PINGRET=$( ping www.baidu.com -c 2 | grep "icmp_" );  if [ -z $PINGRET ]; then echo "ping fail"; else echo "ping ok"; fi 或者 复制代码 代码如下: ping -c 2 www.

随机推荐