球球看世界

检查服务器端口的python脚本

andy.zhang 2018年11月05日 编程脚本 250 评论关闭

1,需求:由于在服务器内检查端口是否存活,有一定的机率遇到僵尸进程

     需要在外部telnet端口检查,所以写了这个脚本 

2,暂时,只能用IP地址而不是域名(下一版本改进)。

3,代码如下:

#!/bin/bash evn python
# coding: utf-8
import os,socket,sys
def isValid(vIP,vPort):
        if not vPort.isdigit():
                return False
        Split=vIP.split('.')
        for i in  Split:
                if not i.isdigit():
                        return False
        return True
def checkTCPPort(vIP,vPort):
        if not isValid(vIP,vPort):
                return False
        else:
                isOk=True
                S = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
                S.settimeout(2)
                try:
                        S.connect((vIP,int(vPort)))
                        isOK = True
                except:
                        isOK = False
                        ErrorType,ErrorValue,ErrorTB = sys.exc_info()
                finally:
                        S.close()
                        return isOK
if __name__ == '__main__':
        if len(sys.argv) < 3:
                print "Usage:",sys.argv[0],"IP Port"
        else:
                tcpResult=checkTCPPort(sys.argv[1],sys.argv[2])
                if tcpResult:
                        print "OK"
                else:
                        os.system('python2 ~/script/mail_send.py xrzxq@126.com "ylcf ss-server\'s port  "'+ sys.argv[2]+ '" 连不上 "' )




发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

球球看世界

我的微信号:zxq138888888 (左侧二维码扫一扫)欢迎添加!

samba 协议