当前位置:  编程技术>python

python检测服务器是否正常

    来源: 互联网  发布时间:2014-09-04

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

经常使用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.baidu.com|grep "icmp_" && echo 'ping ok' || echo 'ping fail'

代码示例:

代码如下:

#!/usr/bin/python
# encoding=utf-8
# Filename: net_is_normal.py
import os
import socket
import subprocess


#判断网络是否正常
server='www.baidu.com'
#检测服务器是否能ping通,在程序运行时,会在标准输出中显示命令的运行信息
def pingServer(server):
    result=os.system('ping '+server+' -c 2')
    if result:
        print '服务器%s ping fail' % server
    else:
        print '服务器%s ping ok' % server
    print result

#把程序输出定位到/dev/null,否则会在程序运行时会在标准输出中显示命令的运行信息 
def pingServerCall(server):
    fnull = open(os.devnull, 'w')
    result = subprocess.call('ping '+server+' -c 2', shell = True, stdout = fnull, stderr = fnull)
    if result:
        print '服务器%s ping fail' % server
    else:
        print '服务器%s ping ok' % server
    fnull.close()

#可用于检测程序是否正常,如检测redis是否正常,即检测redis的6379端口是否正常
#检测ssh是否正常,即检测ssh的22端口是否正常
def check_aliveness(ip, port):
    sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sk.settimeout(1)
    try:
        sk.connect((ip,port))
        print 'server %s %d service is OK!' %(ip,port)
        return True
    except Exception:
        print 'server %s %d service is NOT OK!'  %(ip,port)
        return False
    finally:
        sk.close()
    return False

if __name__=='__main__':
    pingServerCall(server)
    pingServer(server)
    check_aliveness('192.168.230.128', 6379)


    
 
 

您可能感兴趣的文章:

  • 使用python检测手机QQ在线状态的脚本代码
  • python定时检查启动某个exe程序适合检测exe是否挂了
  • python检测lvs real server状态
  • phpsir 开发 一个检测百度关键字网站排名的python 程序
  • python中使用OpenCV进行人脸检测的例子
  • 用Python和MD5实现网站挂马检测程序
  • python使用正则表达式检测密码强度源码分享
  • Python编写检测数据库SA用户的方法
  • 测试、预发布后用python检测网页是否有日常链接
  • 2款Python内存检测工具介绍和使用方法
  • 一个检测OpenSSL心脏出血漏洞的Python脚本分享
  • Python判断变量是否已经定义的方法
  • python判断端口是否打开的实现代码
  • python 判断一个进程是否存在
  • 已知进程名(python写的守护进程) 查该进程是否存在如何处理?
  • python正则表达式判断字符串是否是全部小写示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 调查一下大家服务器上的python解释器的版本
  • linux系统使用python监控apache服务器进程脚本分享
  • python 从远程服务器下载东西的代码
  • 分析python服务器拒绝服务攻击代码
  • Python写的Socks5协议代理服务器
  • python 从远程服务器下载日志文件的程序
  • python搭建简易服务器分析与实现
  • python定时采集摄像头图像上传ftp服务器功能实现
  • Python实现根据指定端口探测服务器/模块部署的方法
  • python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
  • python高并发异步服务器核心库forkcore使用方法
  • Python查看多台服务器进程的脚本分享
  • python实现linux服务器批量修改密码并生成execl
  • Python写的一个简单DNS服务器实例
  • Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
  • python网络编程学习笔记(三):socket网络服务器
  • Python Web服务器Tornado使用小结
  • 400多行Python代码实现了一个FTP服务器
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 使用setup.py安装python包和卸载python包的方法
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python异常信息堆栈输出到日志文件
  • Python开发者社区整站源码 Pythoner
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python读取csv文件示例(python操作csv)
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • python基础教程之python消息摘要算法使用示例
  • Python获取网页编码的方法及示例代码


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3