python检测服务器是否正常

 更新时间:2014年02月16日 09:53:45   作者:  
本文介绍使用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.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中文本和数字相等判断方式

    Python中文本和数字相等判断方式

    这篇文章主要介绍了Python中文本和数字相等判断方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法

    python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法

    今天小编就为大家分享一篇python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python操作CSV格式文件的方法大全

    Python操作CSV格式文件的方法大全

    CSV 文件(Comma Separated Values file,即逗号分隔值文件)是一种纯文本文件,它使用特定的结构来排列表格数据,这篇文章主要给大家介绍了关于Python操作CSV格式文件的相关资料,需要的朋友可以参考下
    2021-07-07
  • 利用Matplotlib绘制折线图、散点图、柱状图、直方图、饼图的实例

    利用Matplotlib绘制折线图、散点图、柱状图、直方图、饼图的实例

    这篇文章主要介绍了利用Matplotlib绘制折线图、散点图、柱状图、直方图、饼图的实例代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Django 分页操作的实现示例

    Django 分页操作的实现示例

    本文主要介绍了Django 分页操作的实现示例,使用django.core.paginator.Paginator进行实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Python基于xlrd模块处理合并单元格

    Python基于xlrd模块处理合并单元格

    这篇文章主要介绍了Python基于xlrd模块处理合并单元格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决

    Python3下错误AttributeError: ‘dict’ object has no attribute’ite

    这篇文章主要跟大家介绍了关于在Python3下错误AttributeError: 'dict' object has no attribute 'iteritems'的分析与解决方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • Python中Pexpect库的使用

    Python中Pexpect库的使用

    本文主要介绍了Python中Pexpect库的使用,我们讨论了 pexpect 的三种方法,它们可用于执行不同的功能,并且它们可以一起使用以使其成为一个大函数,感兴趣的可以了解下
    2023-10-10
  • python语法 之垃圾回收机制

    python语法 之垃圾回收机制

    这篇文章主要介绍了python语法 之垃圾回收机制,垃圾回收机制 是Python解释器自带一种机,专门用来回收不可用的变量值所占用的内存空间,下文相关介绍,需要的朋友可以参考一下
    2022-04-04
  • python用selenium打开浏览器后秒关闭浏览器的解决办法

    python用selenium打开浏览器后秒关闭浏览器的解决办法

    最近朋友在学Selenium的时候遇到一个问题,当执行完selenium程序后,浏览器会闪退也就是自动关闭,这篇文章主要给大家介绍了关于python用selenium打开浏览器后秒关闭浏览器的解决办法,需要的朋友可以参考下
    2023-07-07

最新评论